考慮一個具有類似於以下結構的數組:
$array = [ [ 'id' => 2, 'type' => 'comment', 'text' => 'hey', 'datetime' => '2010-05-15 11:29:45', ], [ 'id' => 3, 'type' => 'status', 'text' => 'oi', 'datetime' => '2010-05-26 15:59:53', ], [ 'id' => 4, 'type' => 'status', 'text' => 'yeww', 'datetime' => '2010-05-26 16:04:24', ], ];
我們如何按“日期時間”元素對此數組進行排序?
PHP 的 usort() 函數採用一個陣列和一個決定元素順序的比較函數。我們可以建立一個名為 date_compare 的自訂比較函數,如下所示:
function date_compare($a, $b) { $t1 = strtotime($a['datetime']); $t2 = strtotime($b['datetime']); return $t1 - $t2; }
該函數會擷取每個記錄的「datetime」欄位的 UNIX 時間戳記並傳回它們之間的差異。 usort() 使用此資訊對陣列進行排序。
最後,我們可以使用usort() 將排序函數應用於陣列:
usort($array, 'date_compare');
這將根據「datetime」元素按升序對數組進行排序。
以上是如何依日期時間元素對多維 PHP 陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!