亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

PHP如何對(duì)日期數(shù)組進(jìn)行排序?(代碼示例)

來(lái)源:藏色散人 發(fā)布時(shí)間:2019-03-19 14:16:20 閱讀量:987

本篇文章我們將給大家介紹如何用PHP實(shí)現(xiàn)對(duì)日期數(shù)組(Ymd格式的多個(gè)日期組成的數(shù)組)的降序排列。

要在C/ c++ /Java或任何其他通用編程語(yǔ)言中解決這個(gè)問(wèn)題,我們必須根據(jù)年份、月份和最后的天數(shù)來(lái)比較日期,或者將日期存儲(chǔ)在任何結(jié)構(gòu)中,或者存儲(chǔ)在任何其他所需的數(shù)據(jù)結(jié)構(gòu)中。

但是在PHP中,如果應(yīng)用strtotime()函數(shù),這個(gè)問(wèn)題似乎非常簡(jiǎn)單。strtotime()函數(shù)是一個(gè)PHP函數(shù),它將給定的日期以任何格式更改為一個(gè)時(shí)間戳,這個(gè)時(shí)間戳本質(zhì)上是一個(gè)大整數(shù),然后在對(duì)數(shù)組進(jìn)行排序時(shí),我們可以通過(guò)定義一個(gè)比較器函數(shù)輕松地使用PHP | usort()函數(shù)。comparator函數(shù)將接受兩個(gè)日期參數(shù),這些參數(shù)將使用strtotime()函數(shù)轉(zhuǎn)換為整數(shù)時(shí)間戳,然后與基于整數(shù)時(shí)間戳值的排序日期進(jìn)行比較。

使用的內(nèi)置函數(shù):

strtotime():此函數(shù)將給定的日期字符串更改為時(shí)間戳(大的int值)。

usort():該函數(shù)根據(jù)用戶定義的比較函數(shù)對(duì)給定數(shù)組排序。

PHP代碼實(shí)現(xiàn)示例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<?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);

輸出:

1

2

3

4

5

Array (

[0] => 2019-03-12

[1] => 2018-09-09

[2] => 2012-09-06

)



標(biāo)簽: PHP
分享:
評(píng)論:
你還沒(méi)有登錄,請(qǐng)先