学习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‘<prestyleprestyle=”text-align:left”>’;
print_r($arr);
echo‘pre>’;
?>
Array
(
[0]=>Array
(
[username]=>owen
[nums]=>2
)
[2]=>Array
(
[username]=>pt
[nums]=>3
)
[1]=>Array
(
[username]=>d5s
[nums]=>5
)
)
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.