十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
学习PHP时,你可能会遇到PHP多维数组排序问题,这里将介绍PHP多维数组排序问题的解决方法,在这里拿出来和大家分享一下,希望对大家有帮助。

#T#根据数组的键进行比较大小,排序,就不用说了,php有很多,很方便的内置函数,krsort(),ksort()等如果是根据数组的值进行比较大小就麻烦一些。如果值没有重复的情况,可以先用array_flip()交换键、值;然后krsort(),然后在array_flip()交换回来,就可以比较大小。有值重复的情况,就要用到一些排序算法了,不过php有很方便的回调函数uasort()会保持原来的索引、usort()会重建索引。PHP多维数组排序代码:
- php
 - functioncmp($a,$b){
 - if($a[”nums”]==$b[”nums”]){
 - return0;
 - }
 - return($a[”nums”]<$b[”nums”])?-1:1;
 - }
 - $arr=Array(
 - 0=>Array(
 - “username”=>owen,
 - “nums”=>2,
 - ),
 - 1=>Array(
 - “username”=>d5s,
 - “nums”=>5,
 - ),
 - 2=>Array(
 - “username”=>pt,
 - “nums”=>3,
 - ),
 - );
 - uasort($arr,“cmp”);
 - echo‘
 ’; - print_r($arr);
 - echo‘ pre>’;
 - ?>
 - Array
 - (
 - [0]=>Array
 - (
 - [username]=>owen
 - [nums]=>2
 - )
 - [2]=>Array
 - (
 - [username]=>pt
 - [nums]=>3
 - )
 - [1]=>Array
 - (
 - [username]=>d5s
 - [nums]=>5
 - )
 - )