Php 对象类型数组的反向排序
是它们的任何直接方式,无需使用for或foreach循环,我们可以使用它们对数组的对象类型进行反向排序。参考内容代码为:Php 对象类型数组的反向排序,php,sorting,Php,Sorting,是它们的任何直接方式,无需使用for或foreach循环,我们可以使用它们对数组的对象类型进行反向排序。参考内容代码为: Array ( [0] => stdClass Object ( [Date] => 20170820 ) [1] => stdClass Object ( [Date] => 20170817 ) [2] =&g
Array
(
[0] => stdClass Object
(
[Date] => 20170820
)
[1] => stdClass Object
(
[Date] => 20170817
)
[2] => stdClass Object
(
[Date] => 20170711
)
[3] => stdClass Object
(
[Date] => 20170710
)
)
您可以简单地使用usort并使用自己的逻辑进行排序。这将把最早的日期放在首位:
usort($array, function($a, $b) {
return $a->Date > $b->Date ? +1 : -1;
});
或者,如果您想要相反的顺序,则交换+1/-1 使用krsort$array按与键相反的顺序对数组进行排序。
使用rsort$array按与值相反的顺序对数组进行排序。试试这个,这将帮助您确定
//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);
你可以做:
array_multisort($array,SORT_DESC,array_map(function ($v) { return $v->date; },$array));
例如:
为什么不使用krsort或rsort@this.lau?从外观上看,他有一个对象数组,并希望按任意属性排序,这样就无法使用按键或索引排序的krsort或rsort。他说他希望对数组进行反向排序。