按鍵將多維數組排序
處理多維數組時的一個常見任務是需要根據特定鍵對它們進行排序。例如,考慮以下數組:
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 ))
要按[status]鍵對此數組進行排序,可以使用usort函數和自訂比較函數:
// Define a comparison function function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status']透過定義 cmp 函數,您可以指定在排序期間應如何比較元素。在這種情況下,它比較兩個元素的 [status] 鍵,如果 $a['status'] 小於 $b['status'],則傳回 -1,如果相等則傳回 0,否則傳回 1。
usort 函數依據比較函數的輸出依升序排列陣列元素。這允許您按所需的鍵對多維數組進行排序,在本例中為 [status].
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3