首頁  >  文章  >  後端開發  >  如何對PHP日期陣列進行排序

如何對PHP日期陣列進行排序

藏色散人
藏色散人原創
2019-01-30 14:16:367448瀏覽



有這樣一個數組,它是由(Y-m-d)格式的多個日期組成。我們如何使用PHP編寫一個程式來對數組中出現的所有日期進行降序排序呢?

如何對PHP日期陣列進行排序

那麼如果用C/ c /Java或任何其他通用程式語言來解決這個問題,我們必須根據年、月、最後根據天來比較日期,方法是將日期儲存在任何結構或任何其他需要的資料結構中。

但在PHP中,我們就可以應用strtotime()函數,這個問題便很容易解決。

strtotime()函數是一個PHP函數,它將任何格式的給定日期更改為時間戳,該時間戳本質上是一個大整數,然後在對數組進行排序時,我們可以通過定義一個比較函數輕鬆地使用PHP | usort()函數。

comparator函數將接受兩個日期參數,它們將使用strtotime()函數轉換為整數時間戳,然後與基於整數時間戳值的日期排序進行比較。

使用的內建功能:

strtotime():該函數將給定的日期字串變更為時間戳(大的int值)。

usort():此函數根據使用者定義的比較函數對給定陣列進行排序。

下面是上述想法的PHP程式碼實作:

<?php 
//PHP程序排序数组的日期
//用户自定义的比较函数
//基于时间戳
function compareByTimeStamp($time1, $time2) 
{ 
    if (strtotime($time1) < strtotime($time2)) 
        return 1; 
    else if (strtotime($time1) > strtotime($time2))  
        return -1; 
    else
        return 0; 
} 
  
// 输入数组 
$arr = array("2018-09-12", "2019-09-06", "2019-09-09"); 
  
// 使用给定的用户定义函数对数组排序
usort($arr, "compareByTimeStamp"); 
  
print_r($arr); 
  
?>

輸出:

Array 
( 
    [0] => 2019-09-09 
    [1] => 2019-09-06 
    [2] => 2018-09-12
)

本篇文章就是關於將PHP日期陣列進行排序的方法介紹,也很簡單易懂,希望對需要的朋友有幫助!



以上是如何對PHP日期陣列進行排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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