本篇文章我們将給大家介紹如何用PHP實作對日期數組(Ymd格式的多個日期組成的數組)的降序排列。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CZ5kDO2ITOlJGOjRGZidDO0YWYiRTNyUjZiFTNkdjYl9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
要在C/ c++ /Java或任何其他通用程式設計語言中解決這個問題,我們必須根據年份、月份和最後的天數來比較日期,或者将日期存儲在任何結構中,或者存儲在任何其他所需的資料結構中。
但是在PHP中,如果應用strtotime()函數,這個問題似乎非常簡單。strtotime()函數是一個PHP函數,它将給定的日期以任何格式更改為一個時間戳,這個時間戳本質上是一個大整數,然後在對數組進行排序時,我們可以通過定義一個比較器函數輕松地使用PHP | usort()函數。comparator函數将接受兩個日期參數,這些參數将使用strtotime()函數轉換為整數時間戳,然後與基于整數時間戳值的排序日期進行比較。
使用的内置函數:
strtotime():此函數将給定的日期字元串更改為時間戳(大的int值)。
usort():該函數根據使用者定義的比較函數對給定數組排序。
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("2019-03-12", "2012-09-06", "2018-09-09");
usort($arr, "compareByTimeStamp");
print_r($arr);
輸出:Array (
[0] => 2019-03-12
[1] => 2018-09-09
[2] => 2012-09-06
)
相關推薦:《PHP教程》
本篇文章就是關于PHP對日期數組進行排序的方法介紹,簡單易懂,希望對需要的朋友有所幫助!