2017-07-07 58 views
1

下面我有一個我生成的數組,我需要按第三個[2]值排序。按數值在次數組中排序數組php

陣列:

{ 
aknox: { 
    0: "28", 
    1: "39", 
    2: "71.79" 
    }, 
    lphillips: { 
    0: "81", 
    1: "106", 
    2: "76.42" 
    } 
} 

預期結果:

{ 
    lphillips: { 
    0: "81", 
    1: "106", 
    2: "76.42" 
    }, 
    aknox: { 
    0: "28", 
    1: "39", 
    2: "71.79" 
    } 
} 

我曾嘗試以下:

usort($ccstats, function($a, $b) { 
    return strcmp($a[2], $b[2]); 
}); 

$ccstats是所述數組。

這升序返回數組,當我試圖讓降序排列,即「akonx」數組鍵和「lphillips」迷失方向,變成了0和1

任何幫助表示讚賞

+1

使用'uasort'和你有'strcmp($ b [2],$ a [2])的逆函數;' – ArtisticPhoenix

回答

1

要保留按鍵使用uasort

uasort($ccstats, function($a, $b) { 
    return strcmp($a[2], $b[2]); 
}); 

如果你說你有ascending訂單,但想descending,然後就換​​論據strcmp

uasort($ccstats, function($a, $b) { 
    return strcmp($b[2], $a[2]); 
}); 
+0

是的,完美的工作,謝謝! –

+1

考慮__accepting__答案,如果它幫助你。 –

+0

我的錯誤,在我接受之前關閉頁面:P –