按格式为 Y-m-d H:i:s [重复] 的日期时间列对二维数组进行排序

问题描述 投票:0回答:5

这是我的数组:

Array ( 
    [0] => Array ( [0] => content here [1] => 2010-02-04 01:25:34 )
    [1] => Array ( [0] => content here [1] => 2010-02-04 04:51:37 ) 
    [2] => Array ( [0] => content here [1] => 2010-02-04 04:52:31 ) 
    [3] => Array ( [0] => content here [1] => 2010-02-04 05:50:48 ) 
    [4] => Array ( [0] => content here [1] => 2010-02-04 03:25:34 ) 
    [5] => Array ( [0] => content here [1] => 2010-02-04 05:39:33 ) 
    [6] => Array ( [0] => content here [1] => 2010-02-04 03:25:34 ) 
    [7] => Array ( [0] => content here [1] => 2010-02-04 07:07:09 ) 
    [8] => Array ( [0] => content here [1] => 2010-02-04 07:07:23 ) 
    [9] => Array ( [0] => content here [1] => 2010-02-04 08:51:18 ) 
) 

如何按时间戳排序?

php arrays sorting datetime multidimensional-array
5个回答
7
投票

usort()
strtotime()
:

function compare($e1, $e2) {
    $t1 = strtotime($e1[1]));
    $t2 = strtotime($e2[1]));

    if($t1 == t2) {
       return 0;
    }
    return ($t1 > $t2) ? 1 : -1;
}


usort($array, 'compare');

1
投票

usort()
cmp_function
一起使用,比较每个传递参数的索引 1。


0
投票

使用array_multisort


0
投票

array_multisort() 这是一个令人讨厌但功能强大的小函数。 基本上,您必须迭代数组,将日期戳提取到新数组中 - 维护键关联。 然后,对新数组进行排序,仍然保持键关联。 然后将新排序的数组和原始数组都放入 array_multisort() 中,原始数组将被排序,其键的顺序与排序数组的顺序相同。

清澈如泥? 该文档页面上的示例应该有所帮助。


-1
投票

冒泡排序怎么样?

这意味着循环遍历每个日期,检查前一个日期是否更大,等等。

© www.soinside.com 2019 - 2024. All rights reserved.