掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
學(xué)習(xí)PHP時,你可能會遇到PHP多維數(shù)組排序問題,這里將介紹PHP多維數(shù)組排序問題的解決方法,在這里拿出來和大家分享一下,希望對大家有幫助。

#T#根據(jù)數(shù)組的鍵進(jìn)行比較大小,排序,就不用說了,php有很多,很方便的內(nèi)置函數(shù),krsort(),ksort()等如果是根據(jù)數(shù)組的值進(jìn)行比較大小就麻煩一些。如果值沒有重復(fù)的情況,可以先用array_flip()交換鍵、值;然后krsort(),然后在array_flip()交換回來,就可以比較大小。有值重復(fù)的情況,就要用到一些排序算法了,不過php有很方便的回調(diào)函數(shù)uasort()會保持原來的索引、usort()會重建索引。PHP多維數(shù)組排序代碼:
- 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
- )
- )

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流