【问题标题】:How to sort array by datatime values [duplicate]如何按日期时间值对数组进行排序[重复]
【发布时间】:2014-03-31 11:49:50
【问题描述】:

我有这样的数组:

Array
(
    [4] => Array
        (
            [dep] => 23:24
            [seconds] => 84240
            [date] => 2014-05-15 23:24:00
        )

    [3] => Array
        (
            [dep] => 04:49
            [seconds] => 17340
            [date] => 2014-05-16 04:49:00
        )

    [2] => Array
        (
            [dep] => 04:22
            [seconds] => 15720
            [date] => 2014-05-16 04:22:00
        )

    [1] => Array
        (
            [dep] => 04:07
            [seconds] => 14820
            [date] => 2014-05-16 04:07:00
        )

    [0] => Array
        (
            [dep] => 00:04
            [seconds] => 240
            [date] => 2014-05-16 00:04:00
        )

)

我想排序并得到类似的东西: 1. 2014-05-15 23:24:00

  1. 2014-05-16 00:04:00

  2. 2014-05-16 04:07:00

  3. 2014-05-16 04:22:00

  4. 2014-05-16 04:49:00

感谢重播;)

【问题讨论】:

标签: php arrays sorting


【解决方案1】:

如何将值转换为 unix 时间并按此排序?

【讨论】:

  • //你的数组和细节 $datatimearray; $tmparray = array() foreach($datatimearray as $key => $val) { $settime = strtotime($val); } ksort($tmparray); $datatimearray = $tmparray; print_r($datatimearray);
【解决方案2】:

这可能是最简单的解决方案:

sort(strtotime($array['date']));

【讨论】:

  • sort(strtotime($array['date'])) 可以吗?
  • 它将所有日期转换为时间戳并对它们进行排序。它应该工作。当然,你得根据你的arrayname来调整数组的名字。
  • 有这个问题,因为数组是多维的
【解决方案3】:

在每个字段上使用strtotime,然后使用asort对其进行排序。

【讨论】:

    猜你喜欢
    • 2013-08-11
    • 2020-02-29
    • 1970-01-01
    • 2015-02-25
    • 2013-04-23
    • 2013-05-10
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多