Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mengisih Tatasusunan Berbilang Dimensi mengikut Kunci: Penyelesaian Langkah demi Langkah?
Mengisih Tatasusunan Berbilang Dimensi dengan Kunci: Panduan Komprehensif
Mengatur elemen tatasusunan berbilang dimensi dalam susunan tertentu boleh menjadi keperluan biasa dalam pengaturcaraan. Isih mengikut kunci tertentu menyediakan cara yang cekap untuk menyusun dan mendapatkan semula data.
Pertimbangkan tatasusunan berbilang dimensi berikut yang mengandungi jemputan:
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 ))
Untuk mengisih tatasusunan ini mengikut kekunci "status", kami boleh menggunakan fungsi usort() dan fungsi perbandingan tersuai.
Fungsi Perbandingan Tersuai
Fungsi perbandingan menentukan susunan unsur dengan membandingkan kekuncinya. Berikut ialah fungsi yang membandingkan berdasarkan kekunci "status":
function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status'] < $b['status']) ? -1 : 1; }
Fungsi ini mengembalikan -1 apabila $a sepatutnya sebelum $b, 1 apabila $a sepatutnya datang selepas $b dan 0 apabila mereka adalah sama.
Isih Tatasusunan
Kita kini boleh mengisih tatasusunan menggunakan usort():
usort($array, "cmp");
Ini akan mengisih tatasusunan mengikut kunci "status" dalam tertib menaik. Jika kita ingin membalikkan susunan, kita boleh menggunakan rsort():
rsort($array, "cmp");
Dengan menggunakan fungsi perbandingan yang disediakan dan fungsi pengisihan, kita boleh mengisih tatasusunan berbilang dimensi dengan mudah menggunakan sebarang kunci yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana Mengisih Tatasusunan Berbilang Dimensi mengikut Kunci: Penyelesaian Langkah demi Langkah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!