一尘不染

如何在php中排序日期数组?

php

我是php的新手,我有php日期数组

[0] => 11-01-2012
[1] => 01-01-2014
[2] => 01-01-2015
[3] => 09-02-2013
[4] => 01-01-2013

我想像这样排序:

[0] => 11-01-2012
[1] => 01-01-2013
[2] => 09-02-2013
[3] => 01-01-2014
[4] => 01-01-2015

我使用asort但不工作。


阅读 286

收藏
2020-05-29

共1个答案

一尘不染

由于数组项是字符串,因此需要将其转换为日期,然后进行比较以进行排序。usort()使用自定义函数的排序数组在这种情况下是很好的排序函数。

$arr = array('11-01-2012', '01-01-2014', '01-01-2015', '09-02-2013', '01-01-2013');    
function date_sort($a, $b) {
    return strtotime($a) - strtotime($b);
}
usort($arr, "date_sort");
print_r($arr);

演示中检查结果

2020-05-29