在php中使用usort来排序对象数组?

前端之家收集整理的这篇文章主要介绍了在php中使用usort来排序对象数组?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我确实看过了,但我仍然有点困惑……

这是$myobject对象的样子:

Array
(
    [0] => stdClass Object
        (
            [tid] => 13
            [vid] => 4
        )

    [1] => stdClass Object
        (
            [tid] => 10
            [vid] => 4
        )

    [2] => stdClass Object
        (
            [tid] => 34
            [vid] => 4
        )

    [3] => stdClass Object
        (
            [tid] => 9
            [vid] => 4
        )

我看到了这个:

function cmp( $a,$b )
{ 
  if(  $a->weight ==  $b->weight ){ return 0 ; } 
  return ($a->weight < $b->weight) ? -1 : 1;
} 
usort($myobject,'cmp');

我试图按照tid排序,但是,我想我真的不确定我是否必须改变体重?或者它会按原样工作吗?我试过了,但没有输出……

cmp是一个回调函数,usort用它来比较复杂的对象(比如你的)来弄清楚如何对它们进行排序.修改cmp供你使用(或将其重命名为你想要的任何东西)
function cmp( $a,$b )
{ 
  if(  $a->tid ==  $b->tid ){ return 0 ; } 
  return ($a->tid < $b->tid) ? -1 : 1;
} 
usort($myobject,'cmp');

function sort_by_tid( $a,'sort_by_tid');

http://www.php.net/usort

猜你在找的PHP相关文章