PHP如何对日期数组进行排序?(代码示例)

来源:藏色散人 发布时间:2019-03-19 14:16:20 阅读量:989

本篇文章我们将给大家介绍如何用PHP实现对日期数组(Ymd格式的多个日期组成的数组)的降序排列。

要在C/ c++ /Java或任何其他通用编程语言中解决这个问题,我们必须根据年份、月份和最后的天数来比较日期,或者将日期存储在任何结构中,或者存储在任何其他所需的数据结构中。

但是在PHP中,如果应用strtotime()函数,这个问题似乎非常简单。strtotime()函数是一个PHP函数,它将给定的日期以任何格式更改为一个时间戳,这个时间戳本质上是一个大整数,然后在对数组进行排序时,我们可以通过定义一个比较器函数轻松地使用PHP | usort()函数。comparator函数将接受两个日期参数,这些参数将使用strtotime()函数转换为整数时间戳,然后与基于整数时间戳值的排序日期进行比较。

使用的内置函数:

strtotime():此函数将给定的日期字符串更改为时间戳(大的int值)。

usort():该函数根据用户定义的比较函数对给定数组排序。

PHP代码实现示例如下:

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

)



标签: PHP
分享:
评论:
你还没有登录,请先