0

我在 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

4

2 回答 2

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;
  }
});
于 2013-02-16T22:14:16.297 回答
1

使用usort()

function sortByStep($a, $b)
{
    if ($a->step == $b->step) {
        return 0;
    }
    return ($a->step < $b->step) ? -1 : 1;
}

usort($array, "sortByStep");
于 2013-02-16T22:13:38.647 回答