php - 在php中使用组合日期和时间对数组数据进行排序
问题描述
我有如下数组,如何结合日期和时间降序对数据进行排序?
$manifest = array(
array("date"=>2019-02-21,"time"=>04:49:54,"desc"=>"arrived in indonesia"),
array("date"=>2019-02-25,"time"=>04:02:21,"desc"=>"arrived in soppeng"),
array("date"=>2019-02-22,"time"=>01:42:51,"desc"=>"arrived in makassar"),
array("date"=>2019-02-22,"time"=>02:42:51,"desc"=>"arrived in makassar gateway"),
);
预期结果:
$manifest = array(
array("date"=>2019-02-25,"time"=>04:02:21,"desc"=>"arrived in soppeng"),
array("date"=>2019-02-22,"time"=>02:42:51,"desc"=>"arrived in makassar gateway"),
array("date"=>2019-02-22,"time"=>01:42:51,"desc"=>"arrived in makassar"),
array("date"=>2019-02-21,"time"=>04:49:54,"desc"=>"arrived in indonesia")
);
感谢帮助
解决方案
$arr = $manifest;
usort($arr, function($a, $b) {
$ad = new DateTime($a['date'] ." ". $a['time']);
$bd = new DateTime($b['date']." ". $a['time']);
if ($ad == $bd) {
return 0;
}
return $ad < $bd ? 1 : -1;
});
推荐阅读
- django - 如何扩展 django-admin
- python - 附加到数组开头的 nil 值
- python - Django w/django_filters 按方法或非模型字段查找
- html - 将图像添加到 DIV 的中心
- python - 使用 sqlalchemy 将现有的 sqlite 数据库放入内存
- javascript - 如何在 SAPUI5 中的 JavaScript 对话框中添加关闭按钮?
- javascript - p5:调整画布大小,具有固定的起始宽度/高度?
- ios - 如何在短时间内存储数据?(迅速)
- r - 无法使用 KableExtra 左对齐表格列
- java - 在 Itext7 中的 pdf 末尾添加图像