如何重新排列像这样的对象数组:
[495] => stdClass Object
(
[date] => 2009-10-31 18:24:09
...
)
[582] => stdClass Object
(
[date] => 2010-2-11 12:01:42
...
)
...根据date键,最早的在前?
发布于 2011-08-20 05:48:30
usort($array, function($a, $b) {
return strtotime($a['date']) - strtotime($b['date']);
});或者,如果您没有PHP 5.3:
function cb($a, $b) {
return strtotime($a['date']) - strtotime($b['date']);
}
usort($array, 'cb');发布于 2013-04-22 19:27:51
由于最初的问题是关于对stdClass()对象的数组进行排序,因此如果$a和$b是对象,则可以使用以下代码:
usort($array, function($a, $b) {
return strtotime($a->date) - strtotime($b->date);
});或者,如果您没有PHP 5.3:
function cb($a, $b) {
return strtotime($a->date) - strtotime($b->date);
}
usort($array, 'cb');发布于 2013-01-23 04:55:20
我想详述arnaud576875的回答。我遇到了同样的问题,但是使用了DateTime对象。这就是我如何能够完成同样的事情。
usort($array, function($a, $b) {
return $a['date']->format('U') - $b['date']->format('U');
});https://stackoverflow.com/questions/7127764
复制相似问题