Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengisih nilai dalam tatasusunan menggunakan php
Dalam PHP, terdapat banyak cara untuk mengisih nilai dalam tatasusunan. Dalam artikel ini, kami akan membincangkan beberapa kaedah pengisihan biasa dalam PHP dan menyediakan kod sampel untuk membantu anda memahami dengan lebih baik cara mengisih nilai dalam tatasusunan.
1. Fungsi sort()
sort() ialah salah satu fungsi pengisihan terbina dalam PHP Ia boleh mengisih nilai dalam tatasusunan dalam tertib menaik, iaitu, menyusun daripada kecil ke besar. Penggunaan fungsi sort() adalah seperti berikut:
sort($array);
Antaranya, $array mewakili tatasusunan yang hendak diisih.
Kod sampel adalah seperti berikut:
$ages = array(20, 15, 30, 25, 18); sort($ages); print_r($ages);
Kod di atas akan mengeluarkan keputusan berikut pada skrin:
Array ( [0] => 15 [1] => 18 [2] => 20 [3] => 25 [4] => 30 )
Jika anda ingin mengisih mengikut tertib menurun, anda boleh gunakan fungsi rsort(). Penggunaan fungsi rsort() adalah serupa dengan penggunaan fungsi sort().
Kod sampel adalah seperti berikut:
$ages = array(20, 15, 30, 25, 18); rsort($ages); print_r($ages);
Kod di atas akan mengeluarkan keputusan berikut pada skrin:
Array ( [0] => 30 [1] => 25 [2] => 20 [3] => 18 [4] => 15 )
2. fungsi asort()
fungsi asort() Anda boleh mengisih nilai dalam tatasusunan dalam tertib menaik, mengekalkan nama kunci. Dalam erti kata lain, selepas mengisih, hubungan antara nama utama dan nilai kekal tidak berubah. Ini berguna untuk situasi di mana anda perlu mencari nama kunci berdasarkan nilainya.
Fungsi asort() digunakan seperti berikut:
asort($array);
di mana $array mewakili tatasusunan yang hendak diisih.
Kod sampel adalah seperti berikut:
$ages = array("Peter"=>20, "John"=>15, "Mary"=>30, "David"=>25, "Jake"=>18); asort($ages); print_r($ages);
Kod di atas akan mengeluarkan keputusan berikut pada skrin:
Array ( [John] => 15 [Jake] => 18 [Peter] => 20 [David] => 25 [Mary] => 30 )
Jika anda ingin mengisih mengikut tertib menurun, anda boleh gunakan fungsi arsort().
Kod sampel adalah seperti berikut:
$ages = array("Peter"=>20, "John"=>15, "Mary"=>30, "David"=>25, "Jake"=>18); arsort($ages); print_r($ages);
Kod di atas akan mengeluarkan hasil berikut pada skrin:
Array ( [Mary] => 30 [David] => 25 [Peter] => 20 [Jake] => 18 [John] => 15 )
3 fungsi ksort()
ksort() function Anda boleh mengisih nilai dalam tatasusunan dalam tertib menaik berdasarkan nama kunci. Penggunaan fungsi ksort() adalah seperti berikut:
ksort($array);
Antaranya, $array mewakili tatasusunan yang hendak diisih.
Kod sampel adalah seperti berikut:
$age = array("Peter"=>20, "John"=>15, "Mary"=>30, "David"=>25, "Jake"=>18); ksort($age); print_r($age);
Kod di atas akan mengeluarkan keputusan berikut pada skrin:
Array ( [David] => 25 [Jake] => 18 [John] => 15 [Mary] => 30 [Peter] => 20 )
Jika anda ingin mengisih mengikut tertib menurun, anda boleh gunakan fungsi krsort().
Kod sampel adalah seperti berikut:
$age = array("Peter"=>20, "John"=>15, "Mary"=>30, "David"=>25, "Jake"=>18); krsort($age); print_r($age);
Kod di atas akan mengeluarkan keputusan berikut pada skrin:
Array ( [Peter] => 20 [Mary] => 30 [John] => 15 [Jake] => 18 [David] => 25 )
4. usort() fungsi
Jika anda perlu menyesuaikan Untuk menentukan logik pengisihan, anda boleh menggunakan fungsi usort(). Fungsi usort() membolehkan anda mentakrifkan fungsi panggil balik untuk membandingkan dua nilai. Fungsi panggil balik ini akan menerima dua parameter dan mengembalikan integer kurang daripada, sama dengan, atau lebih besar daripada 0 untuk menunjukkan hubungan susunan antara kedua-dua nilai. Penggunaan fungsi
usort() adalah seperti berikut:
usort($array, $callback);
Antaranya, $array mewakili tatasusunan yang hendak diisih dan $callback mewakili fungsi panggil balik yang digunakan untuk membandingkan dua nilai.
Kod sampel adalah seperti berikut:
function cmp($a, $b) { if ($a == $b) { return 0; } return ($a > $b) ? -1 : 1; } $ages = array(20, 15, 30, 25, 18); usort($ages, "cmp"); print_r($ages);
Kod di atas akan mengeluarkan keputusan berikut pada skrin:
Array ( [0] => 30 [1] => 25 [2] => 20 [3] => 18 [4] => 15 )
Dalam contoh di atas, kami telah menentukan panggilan balik bernama fungsi "cmp". Fungsi ini menerima dua parameter ($a, $b) dan mengembalikan integer kurang daripada, sama dengan, atau lebih besar daripada 0. Dalam contoh ini, kami menggunakan fungsi panggil balik untuk mengisih nilai dalam tatasusunan dalam tertib menurun.
Ringkasan
Dalam PHP, terdapat pelbagai cara untuk mengisih nilai dalam tatasusunan. Anda boleh mengisih dalam tertib menaik dan menurun menggunakan fungsi sort() dan rsort(). Anda juga boleh menggunakan fungsi asort() dan arsort() untuk mengisih tatasusunan berdasarkan nilai dan mengekalkan nama kunci. Jika anda perlu mengisih nilai dalam tatasusunan berdasarkan nama kunci, anda boleh menggunakan fungsi ksort() dan krsort(). Akhir sekali, jika anda memerlukan logik pengisihan tersuai, anda boleh menggunakan fungsi usort().
Tidak kira jenis pengisihan yang anda perlukan, terdapat fungsi dan kaedah yang sepadan dalam PHP untuk membantu anda menyelesaikan tugas. Dengan mempelajari kandungan di atas, anda boleh lebih bebas mengendalikan nilai dalam tatasusunan semasa menulis kod PHP dan meningkatkan kecekapan pembangunan anda.
Atas ialah kandungan terperinci Bagaimana untuk mengisih nilai dalam tatasusunan menggunakan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!