gpt4 book ai didi

php - 在php中使用usort对对象数组进行排序?

转载 作者:行者123 更新时间:2023-12-02 19:37:26 25 4
gpt4 key购买 nike

我确实看过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, $b )
{
if( $a->tid == $b->tid ){ return 0 ; }
return ($a->tid < $b->tid) ? -1 : 1;
}
usort($myobject,'sort_by_tid');

http://www.php.net/usort

关于php - 在php中使用usort对对象数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2286597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com