Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menyisih Tatasusunan Multidimensi Tersuai Berdasarkan Kunci Khusus dalam PHP?
Isih Tersuai Tatasusunan Berbilang Dimensi
Mengisih tatasusunan berbilang dimensi boleh menjadi tugas biasa dalam pengaturcaraan. Artikel ini menunjukkan cara mengisih tatasusunan sedemikian berdasarkan kunci tertentu menggunakan fungsi PHP usort().
Memahami Tugasan
Pertimbangkan tatasusunan berbilang dimensi berikut di mana setiap elemen mewakili rekod:
<code class="php">Array ( [0] => Array ( [iid] => 1 [invitee] => 174 [nid] => 324343 [showtime] => 2010-05-09 15:15:00 [location] => 13 [status] => 1 [created] => 2010-05-09 15:05:00 [updated] => 2010-05-09 16:24:00 ) [1] => Array ( [iid] => 1 [invitee] => 220 [nid] => 21232 [showtime] => 2010-05-09 15:15:00 [location] => 12 [status] => 0 [created] => 2010-05-10 18:11:00 [updated] => 2010-05-10 18:11:00 ))</code>
Isih mengikut Kekunci
Untuk mengisih tatasusunan ini mengikut kekunci "status", kita perlu mentakrifkan fungsi perbandingan yang menentukan susunan unsur.
<code class="php">function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status'] < $b['status']) ? -1 : 1; }</code>
Fungsi ini membandingkan nilai "status" dua elemen. Jika nilai adalah sama, ia mengembalikan 0. Jika elemen pertama mempunyai nilai "status" yang lebih rendah daripada yang kedua, ia mengembalikan -1. Jika tidak, ia mengembalikan 1.
Menggunakan usort()
Kami kini boleh menggunakan fungsi usort() untuk mengisih tatasusunan menggunakan fungsi perbandingan kami:
<code class="php">usort($array, "cmp");</code>
Ini akan mengisih tatasusunan dalam tertib menaik berdasarkan kekunci "status". Tatasusunan yang diubah suai akan mempunyai elemennya disusun semula dengan sewajarnya.
Menyesuaikan Perbandingan
Fungsi perbandingan boleh disesuaikan untuk mengisih tatasusunan berdasarkan sebarang kunci. Hanya ubah suai fungsi untuk membandingkan nilai kunci yang dikehendaki. Ini memberikan fleksibiliti dalam menyusun tatasusunan berbilang dimensi berdasarkan kriteria yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk Menyisih Tatasusunan Multidimensi Tersuai Berdasarkan Kunci Khusus dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!