如何使用PHP(不是MySQL)按时间顺序从最小到最大排序时间和日期,以便按时间顺序提取数据?
我有一个数组,其中包含带有各种“键”的对象,其中包括时间和事件。
这是var_dump
我所拥有的内容的编辑:
[0] => object {
["time"] => "24/06/2015 - 12:30 PM"
["event"] => "Another event"
}
[1] => object {
["time"] => "24/06/2015 - 08:45 AM"
["event"] => "Event"
}
[2] => object {
["time"] => "25/06/2015 - 09:50 AM"
["event"] => "Yet another event"
}
我希望输出类似于:
2015年6月24日:
事件
另一个事件
2015年6月25日:
另一个事件
提前致谢。
您可以将usort标准php函数与以下自定义函数一起使用:
function sortbytobjtime($a, $b){
$adate = date_create_from_format('d/m/Y - h:i a', $a->time);
$bdate = date_create_from_format('d/m/Y - h:i a', $b->time);
if ( $adate == $bdate ) return 0;
return ( $adate < $bdate) ? -1 : 1;
}
usort($arr, 'sortbytobjtime');
$ arr是一个数组,数组中填充了您的问题中所述的对象。请注意,此解决方案需要版本> = 5.3.0的PHP 5才能使DateTime类可用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句