本文标签:PHP多维数组排序
学习PHP时,你可能会遇到PHP多维数组排序问题,这里将介绍PHP多维数组排序问题的解决方法,在这里拿出来和大家分享一下,希望对大家有帮助 。
- 深入理解PHP多维数组排序原理
- 为你解除PHP数组合并烦恼
- 老鸟谈PHP数组排序
- 如何使用PHP二维数组
- 关于PHP数组转字符串详细介绍
根据数组的键进行比较大小,排序,就不用说了,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‘< SPAN>pre>’; ?> Array ( [0]=>Array ( [username]=>owen [nums]=>2 ) [2]=>Array ( [username]=>pt [nums]=>3 ) [1]=>Array ( [username]=>d5s [nums]=>5 ) )
|