我的对象看起来像这样:
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"
}
}
}
}
如何根据子数组features
中statusCode
的值对数组drives
进行排序,从最高数字到最低数字?
我需要保留这个结构,我不能把statusCode
放在Drive
数组中。
在这种情况下使用uasort
(保留密钥)功能:
// $obj is your initial stdClass object
uasort($obj->drives, function($a,$b){
return $b['features']['statusCode'] - $a['features']['statusCode'];
});