我在PHP中有一个遵循这种结构的数组:
$soap->progress = `
0 =>
object(stdClass)#3 (5) {
["step"]=>
int(6)
....
}
1 =>
object(stdClass)#4 (5) {
["step"]=>
int(8)
....
}
2 =>
object(stdClass)#5 (5) {
["step"]=>
int(1)
....
}
3 =>
object(stdClass)#6 (5) {
["step"]=>
int(4)
....
}
4 =>
object(stdClass)#7 (5) {
["step"]=>
int(3)
....
}
.... and so on
我如何按$soap->progress[x]->step
??
答案 0 :(得分:2)
如果您需要排序这些对象的数组,可以使用usort
函数定义自己的自定义排序回调:
usort($arrayOfObjects, function($a, $b) {
if($a->step == $b->step) {
return 0;
else if($a->step > $b->step) {
return -1;
} else {
return 1;
}
});
答案 1 :(得分:1)
使用usort()。
function sortByStep($a, $b)
{
if ($a->step == $b->step) {
return 0;
}
return ($a->step < $b->step) ? -1 : 1;
}
usort($array, "sortByStep");