Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah php melaksanakan kaedah pengisihan tatasusunan?

Bolehkah php melaksanakan kaedah pengisihan tatasusunan?

PHPz
PHPzasal
2023-04-18 09:05:49375semak imbas

Dalam PHP, banyak fungsi pengisihan tatasusunan disediakan, yang boleh merealisasikan pelbagai kaedah pengisihan tatasusunan. Berikut ialah beberapa kaedah pengisihan tatasusunan yang biasa digunakan.

  1. fungsi sort(), rsort()

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 )
  1. asort(), arsort() function

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 )
  1. ksort(), krsort() fungsi

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 )
  1. fungsi usort()

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!

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