加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:49:37 所属栏目:PHP教程 来源:网络整理
导读:我确实看过了,但我仍然有点困惑…… 这是$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] =
我确实看过了,但我仍然有点困惑……

这是$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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读