Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对象类型数组的反向排序_Php_Sorting - Fatal编程技术网

Php 对象类型数组的反向排序

Php 对象类型数组的反向排序,php,sorting,Php,Sorting,是它们的任何直接方式,无需使用for或foreach循环,我们可以使用它们对数组的对象类型进行反向排序。参考内容代码为: Array ( [0] => stdClass Object ( [Date] => 20170820 ) [1] => stdClass Object ( [Date] => 20170817 ) [2] =&g

是它们的任何直接方式,无需使用for或foreach循环,我们可以使用它们对数组的对象类型进行反向排序。参考内容代码为:

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。他说他希望对数组进行反向排序。