【发布时间】:2020-01-20 13:57:07
【问题描述】:
我有这个多维数组:
[
{
"Id": 14,
"ClassDate": "2019-09-20T00:00:00",
"StartTime": "06:00:00"
},
{
"Id": 27,
"ClassDate": "2019-09-20T00:00:00",
"StartTime": "07:45:00"
},
{
"Id": 144,
"ClassDate": "2019-09-21T00:00:00",
"StartTime": "05:00:00"
},
{
"Id": 170,
"ClassDate": "2019-09-21T00:00:00",
"StartTime": "08:45:00"
},
]
我想按日期排序这个数组值,然后按时间排序相同的日期值。
这是我的代码,它只按日期对值进行排序
function cmp($a, $b) {
$a = strtotime($a['ClassDate']);
$b = strtotime($b['ClassDate']);
if ($a == $b) { return 0; }
return ($a < $b) ? -1 : 1;
} usort($result_array, "cmp");
有人对此有解决方案吗?我确信我是第 100 万个这样做的人......
【问题讨论】:
-
我正在列出我想按降序显示课程的列表
-
如果这两个项目的日期相同,那么你不能在那个时候返回 0,而是检查你的第二个标准,并以此为基础返回值。
-
(没有投票)对我来说一切都很好,除了需要计算时间的事情
if ($a == $b) { return 0; }。将时间转换为秒,您就可以开始了。