首頁 >後端開發 >php教程 >如何在 PHP 中根據 Unix 時間戳記對多維數組進行排序?

如何在 PHP 中根據 Unix 時間戳記對多維數組進行排序?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-05 10:15:02824瀏覽

How Can I Sort a Multidimensional Array in PHP Based on a Unix Timestamp?

在PHP 中對多維數組進行排序

目標

對多維數組排序儲存在子數組「x」中的unix 時間戳記。

解決方案

要實現此目的,您可以將自訂比較函數與 usort 函數結合使用。

自訂比較函數

<code class="php">function compare($x, $y) {
    if ($x[4] == $y[4])
        return 0;
    else if ($x[4] < $y[4])
        return -1;
    else
        return 1;
}</code>

透過usort 應用此函數

<code class="php">usort($arrayOfArrays, 'compare');</code>

usort函數需要一個比較函數作為其第二個參數,該函數從數組中獲取兩個元素,如果第一個元素應該放置在第二個元素之前,則返回負值,如果應該放置在第二個元素之前,則傳回零值以相同的順序出現,如果第一個元素應放置在第二個元素之後,則為正值。

此自訂函數比較每個子陣列的第四個位置中的 unix 時間戳記值。如果時間戳相等,則傳回 0。如果第一個時間戳早於第二個,則回傳 -1。否則,傳回 1,表示第二個子數組應該出現在第一個子數組之後。

以上是如何在 PHP 中根據 Unix 時間戳記對多維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn