是他们的任何直接方式(不使用for或foreach循环)使用它我们可以反向排序对象类型的数组。参考内容代码是:
Array
(
[0] => stdClass Object
(
[Date] => 20170820
)
[1] => stdClass Object
(
[Date] => 20170817
)
[2] => stdClass Object
(
[Date] => 20170711
)
[3] => stdClass Object
(
[Date] => 20170710
)
)
答案 0 :(得分:1)
您可以简单地使用usort()
并使用您自己的逻辑进行排序。这会将最早的日期放在最前面:
usort($array, function($a, $b) {
return $a->Date > $b->Date ? +1 : -1;
});
或者如果你想要相反的顺序,交换+ 1 / -1;
答案 1 :(得分:0)
使用krsort($array)
以相反的顺序对数组进行排序。
使用rsort($array)
按照与值相反的顺序对数组进行排序。
答案 2 :(得分:0)
试试这个,这有助于您确定
//Example with array $a
$a = array(array('date'=>20170820),array('date'=>20170817),array('date'=>20170711),array('date'=>20170710));
$a = json_decode(json_encode($a));
usort($a, function($x,$y){ return $x->date - $y->date; });
print_r($a);
答案 3 :(得分:0)
你可以这样做:
array_multisort($array,SORT_DESC,array_map(function ($v) { return $v->date; },$array));
实施例: http://sandbox.onlinephpfunctions.com/code/21b33f4d8b2bfb80fb02750693539b19060b5c86