利用php怎么对多维数组中的值进行排序-创新互联

利用php怎么对多维数组中的值进行排序?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

为博白等地区用户提供了全套网页设计制作服务,及博白网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、博白网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

如果值没有重复的情况,可以先用array_flip()来交换键和值,然后krsort(),最后再array_flip()交换回来,就可以比较大小了。如果要截取数组,可用array_slice()。

如果有值重复的情况,就要用到一些排序算法了,不过php有很强大的函数uasort(),使用自定义的比较函数对数组中的值进行排序并保持索引关联,usort()则会重建索引。



复制代码 代码如下:


function cmp($a, $b){
if ($a["vote_num"] == $b["vote_num"]) {
return 0;
}
return ($a["vote_num"] > $b["vote_num"]) ? -1 : 1;
}

$arr = Array
(
0 => Array
(
o_id => 1861,
o_name => 2,
o_pic => '/tupian/20230522/404.html ,
o_detail => 人人,
vote_num => 1
),

1 => Array
(
o_id => 1844,
o_name => 芭比,
o_pic => '/tupian/20230522/404.html
o_detail => 也是美女呢,
vote_num => 2
),

2 => Array
(
o_id => 1843,
o_name => 程程,
o_pic => '/tupian/20230522/404.html
o_detail => 美女哦,
vote_num => 3
)
);
uasort($arr, ”cmp“);
echo ‘< pre  >';
print_r ($arr);
echo ‘< / pre >';



返回


复制代码 代码如下:


Array
(
[2] => Array
(
[o_id] => 1843
[o_name] => 程程
[o_pic] => /tupian/20230522/31554_4d0088da7a61ad9c8c02a530be94d98e.png
[o_detail] => 美女哦
[vote_num] => 3
)
[1] => Array
(
[o_id] => 1844
[o_name] => 芭比
[o_pic] => /tupian/20230522/shenxiandao.jpg
[o_detail] => 也是美女呢
[vote_num] => 2
)
[0] => Array
(
[o_id] => 1861
[o_name] => 2
[o_pic] => /tupian/20230522/image.gif
[o_detail] => 人人
[vote_num] => 1
)
)


看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。


分享标题:利用php怎么对多维数组中的值进行排序-创新互联
网站URL:http://hbruida.cn/article/cogccp.html