我正在尝试按date对array
进行排序,但结果似乎不正确。正如你在下面的图片中看到的,0 index
应该在最后。
结果:
我的代码
$next_Data = json_decode('[{"EmployeeID":102,"DateTimeRecord":"7/31/2018 9:39:13 PM","InOut":"0"},
{"EmployeeID":102,"DateTimeRecord":"7/31/2018 9:39:13 PM","InOut":"0"},
{"EmployeeID":102,"DateTimeRecord":"7/31/2018 9:39:13 PM","InOut":"0"},
{"EmployeeID":102,"DateTimeRecord":"8/1/2018 6:43:04 AM","InOut":"1"},
{"EmployeeID":102,"DateTimeRecord":"8/1/2018 6:43:05 AM","InOut":"1"},
{"EmployeeID":102,"DateTimeRecord":"8/1/2018 6:43:06 AM","InOut":"1"},
{"EmployeeID":102,"DateTimeRecord":"8/1/2018 6:13:25 PM","InOut":"0"},
{"EmployeeID":102,"DateTimeRecord":"8/1/2018 6:13:25 PM","InOut":"0"},
{"EmployeeID":102,"DateTimeRecord":"8/2/2018 20:13:25 PM","InOut":"1"},
{"EmployeeID":102,"DateTimeRecord":"8/1/2018 6:13:25 PM","InOut":"0"},
{"EmployeeID":102,"DateTimeRecord":"8/2/2018 6:54:12 AM","InOut":"1"},
{"EmployeeID":102,"DateTimeRecord":"8/2/2018 6:54:12 AM","InOut":"1"},
{"EmployeeID":102,"DateTimeRecord":"8/2/2018 6:54:12 AM","InOut":"1"},
{"EmployeeID":102,"DateTimeRecord":"8/2/2018 12:13:25 PM","InOut":"0"}]');
$next_Data = array_map("unserialize", array_unique(array_map("serialize", $next_Data)));
foreach ($next_Data as $key => $part)
{
$sort[$key] = strtotime($part->DateTimeRecord);
}
array_multisort($sort, SORT_ASC, $next_Data);
发布于 2018-08-19 07:39:34
对于这个值,strtotime()
返回FALSE,因此它被排序为0,因此首先出现。20:13 PM
不是有效时间;它应该是8:13 PM
或20:13
。
https://stackoverflow.com/questions/51913293
复制相似问题