Dalam PHP, banyak fungsi pengisihan tatasusunan disediakan, yang boleh merealisasikan pelbagai kaedah pengisihan tatasusunan. Berikut ialah beberapa kaedah pengisihan tatasusunan yang biasa digunakan.
Fungsi sort() digunakan untuk mengisih tatasusunan dalam tertib menaik, manakala fungsi rsort() digunakan untuk menyusun tatasusunan dalam tertib menurun. Kedua-dua fungsi mengisih tatasusunan asal dan tidak mencipta tatasusunan baharu.
Contohnya:
$arr = array(1, 5, 2, 8, 3); sort($arr); // 升序排序 print_r($arr); // 输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 [4] => 8 ) rsort($arr); // 降序排序 print_r($arr); // 输出:Array ( [0] => 8 [1] => 5 [2] => 3 [3] => 2 [4] => 1 )
asort() function digunakan untuk mengisih tatasusunan secara menaik perintah, dan sort() adalah serupa. Tetapi tidak seperti sort(), asort() juga mengekalkan nama kunci tatasusunan. Begitu juga, arsort() mengekalkan nama kunci dalam susunan menurun. Kedua-dua fungsi ini juga menyusun tatasusunan asal.
Contohnya:
$arr = array("a" => 5, "b" => 3, "c" => 8, "d" => 2); asort($arr); // 升序排序并保留键名 print_r($arr); // 输出:Array ( [d] => 2 [b] => 3 [a] => 5 [c] => 8 ) arsort($arr); // 降序排序并保留键名 print_r($arr); // 输出:Array ( [c] => 8 [a] => 5 [b] => 3 [d] => 2 )
berbeza daripada dua fungsi di atas, ksort() dan Fungsi krsort( ) adalah untuk mengisih tatasusunan mengikut nama kunci. ksort() menyusun dalam tertib menaik, krsort() menyusun dalam tertib menurun.
Contohnya:
$arr = array("a" => 5, "c" => 8, "b" => 3, "d" => 2); ksort($arr); // 按照键名升序排序 print_r($arr); // 输出:Array ( [a] => 5 [b] => 3 [c] => 8 [d] => 2 ) krsort($arr); // 按照键名降序排序 print_r($arr); // 输出:Array ( [d] => 2 [c] => 8 [b] => 3 [a] => 5 )
Jika anda perlu menggunakan algoritma tersuai untuk mengisih tatasusunan, anda boleh menggunakan fungsi usort() . Fungsi ini memerlukan fungsi sebagai hujah yang membandingkan saiz elemen tatasusunan. Apabila elemen tatasusunan perlu ditukar, fungsi ini menukarnya secara automatik.
Contohnya:
$arr = array("apple", "banana", "peach", "orange"); function cmp($a, $b) { return strlen($a) - strlen($b); } usort($arr, "cmp"); print_r($arr); // 输出:Array ( [0] => apple [1] => peach [2] => banana [3] => orange )
Contoh di atas menggunakan algoritma tersuai untuk mengisih rentetan dalam tertib menaik mengikut panjangnya.
Ringkasan
Di atas ialah fungsi pengisihan tatasusunan yang biasa digunakan dalam PHP. Anda perlu menggunakannya mengikut keperluan sebenar program anda sendiri. Sudah tentu, algoritma tersuai juga boleh digabungkan untuk memenuhi keperluan yang lebih kompleks.
Atas ialah kandungan terperinci Bolehkah php melaksanakan kaedah pengisihan tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!