【问题标题】:How to sort an array on time in PHP?如何在 PHP 中按时对数组进行排序?
【发布时间】:2019-04-11 07:23:04
【问题描述】:

我想根据时间对数组进行排序,使其从最早到最晚。我能做到这一点的最佳方法是什么?

数组长这样

array([0] => 10:30)
array([0] => 13:00)
array([0] => 11:20)
array([0] => 10:30)
array([0] => 10:30)
array([0] => 08:30)
array([0] => 12:10)
array([0] => 11:20)
array([0] => 09:20)
array([0] => 13:00)
array([0] => 08:30)
array([0] => 08:30)
array([0] => 13:00)
array([0] => 15:40)
array([0] => 13:00)
array([0] => 15:40)
array([0] => 13:50)
array([0] => 13:50)

我尝试使用 usort,但没有成功。

希望你能帮我解决这个问题。

【问题讨论】:

  • 看起来每个元素都有内部数组 - 首先尝试使用array_column。请发布您的代码以及您尝试过的内容 - 它会帮助我们帮助您
  • 它是一个二维数组,外部数组中的每个索引只有一次是故意的吗?每次可以有多次吗?如果是这样,这意味着什么?是否需要对其进行排序?

标签: php arrays sorting time


【解决方案1】:

你可以这样做,

usort($arr, function($a,$b){
    return strtotime($a) - strtotime($b); // if not worked. return strtotime($a[0]) - strtotime($b[0]);
});

将其转换为时间戳将解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    相关资源
    最近更新 更多