多維數組的自訂排序
對多維數組進行排序是程式設計中的常見任務。本文示範如何使用 PHP usort() 函數根據特定鍵對此類陣列進行排序。
理解任務
考慮以下多維數組,其中每個元素代表一條記錄:
<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>
按鍵。
要按「狀態」鍵對此陣列進行排序,我們需要定義一個比較函數來決定元素的順序。<code class="php">function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status'] < $b['status']) ? -1 : 1; }</code>
使用usort()
我們現在可以使用usort() 函數透過我們的比較函數來排序陣列:<code class="php">usort($array, "cmp");</code>
自訂比較
可以自訂比較函數以根據任意鍵對陣列進行排序。只需修改函數即可比較所需的鍵值。這提供了根據不同標準對多維數組進行排序的靈活性。以上是如何在 PHP 中根據特定鍵對多維數組進行自訂排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!