利用php怎么对多维数组中的值进行排序

介绍

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

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

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

代码如下:


函数cmp (a, b)美元{
if ($ (“vote_num")==$ b (“vote_num")) {
返回0;
}
返回(美元(“vote_num")比;$ b [“vote_num"]) ?1:1;
}

$ arr=数组
(
0=比;数组
(
o_id=比;1861年,
o_name=比;2,
o_pic=比;& # 39;https://cache.yisu.com/upload/information/20201209/266/43563.gif& # 39;,
o_detail=比;人的人,
vote_num=比;1
),

1=比;数组
(
o_id=比;1844年,
o_name=比;芭比,
o_pic=比;& # 39;https://cache.yisu.com/upload/information/20201209/266/43564.jpg& # 39;
o_detail=比;也是美女呢,
vote_num=比;2
),

2=比;数组
(
o_id=比;1843年,
o_name=比;程程,
o_pic=比;& # 39;https://cache.yisu.com/upload/information/20201209/266/43565.png& # 39;
o_detail=比;美女哦,
vote_num=比;3
)
);
uasort (arr美元,cmp);
回声的& lt;前,在& # 39;;
print_r (arr);
回声的& lt;/pre祝辞;& # 39;;


返回

代码如下:


数组
(
[2]=比;数组
(
[o_id]=比;1843
[o_name]=比;程程
[o_pic]=比;http://g.jb51.net./upload_img/2011-06/31554_4d0088da7a61ad9c8c02a530be94d98e.png
[o_detail]=比;美女哦
[vote_num]=比;3
)
[1]=比;数组
(
[o_id]=比;1844
[o_name]=比;芭比
[o_pic]=比;http://upload.jb51.net/game_image/dfxxz/dfVIP.files/shenxiandao.jpg
[o_detail]=比;也是美女呢
[vote_num]=比;2
)
[0]=比;数组
(
[o_id]=比;1861
[o_name]=比;2
[o_pic]=比;http://g.jb51.net/image.gif
[o_detail]=比;人人
[vote_num]=比;1

)

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

利用php怎么对多维数组中的值进行排序