Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk melaksanakan pengisihan tatasusunan dalam php

Bagaimana untuk melaksanakan pengisihan tatasusunan dalam php

PHPz
PHPzasal
2023-04-19 09:19:191270semak imbas

Dalam PHP, pengisihan ialah operasi yang kerap digunakan, yang boleh membantu kami menyusun dan memaparkan data mengikut keperluan yang berbeza. Pengisihan tatasusunan ialah salah satu fungsi Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan pengisihan tatasusunan.

1. Fungsi pengisihan

PHP mempunyai banyak fungsi pengisihan tatasusunan terbina dalam, yang sangat praktikal dalam pembangunan Berikut adalah beberapa fungsi pengisihan yang biasa digunakan:

  1. sort (): Isih tatasusunan dalam tertib menaik
  2. rsort(): Isih tatasusunan dalam tertib menurun
  3. asort(): Isih tatasusunan dalam tertib menaik dan kekalkan hubungan indeks asal
  4. arsort(): Isih tatasusunan dalam tertib menurun dan kekalkan hubungan indeks asal
  5. ksort(): Isih tatasusunan dalam tertib menaik mengikut nama kunci
  6. krsort(): Isih tatasusunan dalam tertib menurun mengikut nama kunci Isih
  7. usort(): Isih mengikut peraturan isihan tersuai
  8. uasort(): Isih mengikut peraturan isihan tersuai dan kekalkan hubungan indeks asal
  9. uksort(): Tentukan sendiri peraturan pengisihan untuk mengisih mengikut nama kunci

2. Contoh penggunaan

Katakan kita mempunyai tatasusunan yang mengandungi beberapa angka elemen. Kita perlu Isih nombor ini.

$arr = tatasusunan(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
sort($arr);
print_r($arr);
?>

Hasil output adalah seperti berikut:

Array
(

[0] => 1
[1] => 1
[2] => 2
[3] => 3
[4] => 3
[5] => 4
[6] => 5
[7] => 5
[8] => 5
[9] => 6
[10] => 9

)

Ini ialah contoh mudah isihan gelembung ialah algoritma isihan yang mudah dan algoritma isihan yang paling mudah untuk kita fahami.

3. Pengisihan tersuai

Jika kita perlu menyesuaikan peraturan pengisihan, kita boleh menggunakan fungsi usort() dan uasort() untuk mencapainya. Fungsi ini berfungsi sama, satu-satunya perbezaan ialah cara mereka mengendalikan pengindeksan tatasusunan asal. Mari lihat contoh pengisihan tersuai di bawah.

$arr = tatasusunan(

array('name' => 'Tom', 'age' => 18),
array('name' => 'Jerry', 'age' => 16),
array('name' => 'Alice', 'age' => 19),
array('name' => 'Frank', 'age' => 25)</p>
<p>);</p>
<p>// Isih mengikut medan umur<br>fungsi cmp($a , $b)<br>{</p>
<pre class="brush:php;toolbar:false">if ($a['age'] > $b['age']) {
    return 1;
} elseif ($a['age'] < $b[&#39;age&#39;]) {
    return -1;
} else {
    return 0;
}

}

usort($arr, "cmp");
print_r($arr);
?>

Hasil output adalah seperti berikut:

Array
(

[0] => Array
    (
        [name] => Jerry
        [age] => 16
    )

[1] => Array
    (
        [name] => Tom
        [age] => 18
    )

[2] => Array
    (
        [name] => Alice
        [age] => 19
    )

[3] => Array
    (
        [name] => Frank
        [age] => 25
    )

)

Dalam kod di atas kami mentakrifkan fungsi isihan tersuai cmp( ), fungsi ini membandingkan berdasarkan medan umur setiap elemen dalam tatasusunan Jika nilai umur dalam elemen a lebih besar daripada nilai umur dalam elemen b, ia mengembalikan 1, iaitu, elemen a harus diletakkan di belakang elemen b; jika nilai umur dalam elemen a Jika nilai kurang daripada nilai umur dalam elemen b, kembalikan -1, iaitu, elemen a harus diletakkan di hadapan elemen b jika nilai umur dalam elemen ialah sama dengan nilai umur dalam elemen b, pulangkan 0, iaitu elemen a dan elemen b adalah sama, Tiada pengisihan diperlukan. Akhir sekali, kami menggunakan fungsi usort() untuk mengisih tatasusunan $arr mengikut peraturan tersuai, dan menggunakan fungsi print_r() untuk mengeluarkan hasilnya.

Ringkasan

Melalui pengenalan artikel ini, kami telah mempelajari pengetahuan asas dan fungsi biasa pengisihan tatasusunan dalam PHP, dan boleh memilih fungsi pengisihan yang sesuai untuk mengisih tatasusunan mengikut keperluan sebenar . Untuk keperluan pengisihan yang kompleks, kita boleh menggunakan fungsi pengisihan tersuai. Dalam pembangunan sebenar, adalah sangat penting untuk menguasai pengetahuan menyusun tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengisihan tatasusunan dalam php. 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