首頁 > 後端開發 > php教程 > 如何依日期時間元素對多維 PHP 陣列進行排序?

如何依日期時間元素對多維 PHP 陣列進行排序?

DDD
發布: 2024-12-16 15:10:21
原創
431 人瀏覽過

How to Sort a Multidimensional PHP Array by a Datetime Element?

在PHP 中按日期元素對多維數組進行排序

考慮一個具有類似於以下結構的數組:

$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',
    ],
];
登入後複製

我們如何按“日期時間”元素對此數組進行排序?

使用 usort()使用自訂比較函數

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板