Rumah  >  Artikel  >  pembangunan bahagian belakang  >  array_multisort() fungsi dalam PHP: Bagaimana untuk mengisih berbilang tatasusunan

array_multisort() fungsi dalam PHP: Bagaimana untuk mengisih berbilang tatasusunan

WBOY
WBOYasal
2023-11-03 09:33:201385semak imbas

array_multisort() fungsi dalam PHP: Bagaimana untuk mengisih berbilang tatasusunan

Fungsi array_multisort() dalam PHP: Cara mengisih berbilang tatasusunan memerlukan contoh kod khusus

Dalam pembangunan PHP, selalunya perlu mengisih berbilang tatasusunan, seperti berdasarkan berbilang medan seperti umur, nama, dsb. Isih. PHP menyediakan fungsi array_multisort() untuk menyusun berbilang tatasusunan. Artikel ini akan memperkenalkan penggunaan fungsi array_multisort() dan memberikan contoh kod khusus.

1. Pengenalan kepada fungsi array_multisort()

Fungsi array_multisort() digunakan untuk mengisih berbilang tatasusunan. Fungsi ini boleh mengisih berbilang tatasusunan pada masa yang sama, dan juga boleh menentukan kaedah pengisihan, termasuk tertib menaik atau menurun. Sintaks asas adalah seperti berikut:

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )

Antaranya, $array1 mewakili tatasusunan pertama yang akan diisih, dan parameter seterusnya mewakili tatasusunan lain untuk diisih. Parameter $array1_sort_order dan $array1_sort_flags masing-masing mewakili kaedah pengisihan dan bendera pengisihan Untuk nilai tertentu, sila rujuk manual PHP. Fungsi ini mengembalikan nilai Boolean.

2. Contoh fungsi Array_multisort()

Yang berikut menggunakan contoh khusus untuk menggambarkan penggunaan fungsi array_multisort(). Katakan terdapat dua tatasusunan seperti berikut Ia perlu diisih mengikut nilai tatasusunan pertama, dan tatasusunan kedua berubah dengan sewajarnya.

<?php
 
// 待排序数组
$array1 = array(4, 2, 3, 1);
$array2 = array('d', 'b', 'c', 'a');
 
// 对数组进行排序
array_multisort($array1, $array2);
 
print_r($array1);
print_r($array2);
 
?>

Proses pelaksanaan kod adalah seperti berikut:

  1. Mula-mula, tentukan dua tatasusunan $array1 dan $array2, yang masing-masing mewakili tatasusunan untuk diisih.
  2. Kemudian, panggil fungsi array_multisort() untuk mengisih tatasusunan. Memandangkan hanya dua tatasusunan yang diluluskan sebagai parameter, ini bermakna hanya nilai tatasusunan pertama yang diisih Kaedah pengisihan lalai adalah tertib menaik, dan bendera pengisihan ialah SORT_REGULAR.
  3. Akhir sekali, kandungan tatasusunan yang diisih adalah output, di mana nilai $array1 disusun dalam tertib menaik, dan nilai yang sepadan dalam $array2 juga diisih.

Keputusan yang dijalankan adalah seperti berikut:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
Array ( [0] => a [1] => b [2] => c [3] => d )

Seperti yang dapat dilihat daripada hasil yang dijalankan, disebabkan penggunaan fungsi array_multisort(), kedua-dua tatasusunan diisih mengikut nilai $array1, dan nilai $array2 juga disusun mengikut kesesuaian.

3 Lebih banyak contoh fungsi array_multisort()

Selain contoh asas di atas, fungsi array_multisort() juga boleh melakukan lebih banyak operasi pengisihan. Sebagai contoh, anda boleh mengehadkan pengisihan kepada tertib menurun, mengisih mengikut berbilang medan, dsb.

Beberapa kod sampel khusus disediakan di bawah untuk rujukan:

  1. Susun dalam tertib menurun
<?php
 
// 待排序数组
$array1 = array(4, 2, 3, 1);
$array2 = array('d', 'b', 'c', 'a');
 
// 对数组进行排序
array_multisort($array1, SORT_DESC, $array2);
 
print_r($array1);
print_r($array2);
 
?>

Proses pelaksanaan kod adalah serupa dengan contoh di atas, cuma perbezaannya ialah parameter kedua menentukan tertib menurun.

  1. Isih mengikut berbilang medan
<?php
 
// 待排序数组
$array1 = array('Tom', 'John', 'Mary', 'Bob');
$array2 = array(20, 30, 25, 35);
$array3 = array(170, 165, 180, 175);
 
// 对数组进行排序
array_multisort($array1, SORT_ASC, $array2, SORT_ASC, $array3, SORT_DESC);
 
print_r($array1);
print_r($array2);
print_r($array3);
 
?>

Proses pelaksanaan kod adalah seperti berikut:

  1. Tentukan tiga tatasusunan $array1, $array2 dan $array3, masing-masing mewakili nama, umur dan ketinggian.
  2. Memanggil fungsi array_multisort() untuk mengisih tiga tatasusunan, mula-mula menyusunnya dalam tertib menaik mengikut $array1, kemudian menyusunnya dalam tertib menaik mengikut $array2, dan akhirnya mengisihnya dalam tertib menurun mengikut $array3.
  3. Keluarkan kandungan tiga tatasusunan yang diisih.

Hasil larian adalah seperti berikut:

Array ( [0] => Bob [1] => John [2] => Mary [3] => Tom )
Array ( [0] => 30 [1] => 20 [2] => 25 [3] => 35 )
Array ( [0] => 175 [1] => 170 [2] => 180 [3] => 165 )

Seperti yang dapat dilihat daripada hasil larian, disebabkan penggunaan berbilang medan untuk mengisih, susunan pengisihan bagi tiga tatasusunan ialah: diisih mengikut nama dalam tertib menaik, jika nama adalah sama, diisih mengikut umur dalam tertib menaik, jika nama Susun mengikut ketinggian dalam tertib menurun umur yang sama.

4. Ringkasan

Artikel ini memperkenalkan cara menggunakan fungsi array_multisort() dalam PHP dan menyediakan contoh kod khusus. Fungsi ini boleh mengisih berbilang tatasusunan pada masa yang sama, dan boleh menentukan tertib menaik atau menurun Ia juga menyokong berbilang medan untuk operasi pengisihan. Dalam pembangunan PHP, fungsi array_multisort() ialah alat yang sangat berguna, yang boleh memudahkan kerja pembangunan dan meningkatkan prestasi atur cara.

Atas ialah kandungan terperinci array_multisort() fungsi dalam PHP: Bagaimana untuk mengisih berbilang tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn