【问题标题】:Array sort on datetime日期时间数组排序
【发布时间】:2017-01-01 19:19:58
【问题描述】:

我在尝试一次对数组进行排序时遇到了一些问题。该数组有一个以分钟为单位的值,最低的必须显示在顶部。

这是我的数组:

$voertuigen[] = array(
'img' => $img,
'nummer' => $nummer,
'soort' => $rnaam,
'aankomst' => $formatted
);

我尝试过使用 sort()

sort($voertuigen, SORT_NUMERIC);

但后来我明白了: 9:42 10:50 9:42 13:43 排序不正确。

感谢您的帮助!

这不是一个日期时间,它是这样的:10:30 - Minutes:seconds

【问题讨论】:

  • 那么你在哪里告诉你的排序根据日期时间排序?哪个是日期时间?
  • 抱歉,忘了说,'aankomst' 是带有日期时间的那个
  • 那篇文章对我没有帮助。我的值是 10:00 -- Minutes:Seconds

标签: php arrays sorting datetime


【解决方案1】:

您可以只使用usort 定义自己的比较,然后使用DateTime 解析数组中的时间,然后进行比较:

usort($voertuigen, function ($a, $b) {
    return new DateTime($a['aankomst']) > new DateTime($b['aankomst']);
});

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多