我的对象如下:
object(stdClass)#1 (1) {
["drives"]=>
array(2) {
[0]=>
array(2) {
["drive"]=>
string(11) "Drive1"
["features"]=>
array(4) {
["statusCode"]=>
int(1)
["UsedValue"]=>
string(4) "222"
["TotalValue"]=>
string(5) "22222"
["smart"]=>
string(1) "0"
}
}
[1]=>
array(2) {
["drive"]=>
string(5) "Drive2"
["features"]=>
array(4) {
["statusCode"]=>
int(0)
["UsedValue"]=>
string(6) "2222"
["TotalValue"]=>
string(7) "222222"
["smart"]=>
string(1) "0"
}
}
}
}
如何根据子数组drives
内statusCode
的值,从最高数字到最低数字,对数组features
进行排序?
我需要保留此结构,我无法将statusCode
放在Drive
数组中。
答案 0 :(得分:1)
在这种情况下使用uasort
(保留键)功能:
// $obj is your initial stdClass object
uasort($obj->drives, function($a,$b){
return $b['features']['statusCode'] - $a['features']['statusCode'];
});