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

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

WBOY
Lepaskan: 2023-11-03 09:36:01
asal
1433 orang telah melayarinya

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 $... ]]] )
Salin selepas log masuk

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);
 
?>
Salin selepas log masuk

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 )
Salin selepas log masuk

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);
 
?>
Salin selepas log masuk

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);
 
?>
Salin selepas log masuk

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 )
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan