在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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |