2012-06-25 176 views
-1

可能重複:
How to sort a multidimensional array by a certain key?排序鍵值數組

我想數組排序,它看起來像下面,通過鍵值:

$arr = ([0]=>Int(5) 
     [1]=> Array ([0]=>Int(4) , [1]=>String(10) , [2]=>String(22) , ['prop']=>Int(2)) 
     [2]=> Array ([0]=>Int(4) , [1]=>String(10) , [2]=>String(22) , ['prop']=>Int(2)) 
     [3]=> Array ([0]=>Int(4) , [1]=>String(10) , [2]=>String(22) , ['prop']=>Int(2)) 
     ) 

所以,結果我希望$ arr按['prop']的值排序。

我試過氣泡排序但沒有任何結果。

+3

看看[usort()](http://php.net/manual/en/function .usort.php) – Jeroen

+0

請在提問前使用搜索功能。 – Gordon

+0

@Jeroen我試過usort(),它在執行時超時! –

回答

0
usort($array, function($a, $b) { 
    if($a['prop'] == $b['prop']) return 0; 
    return ($a['prop'] < $b['prop']) ? -1 : 1; 
}); 

注意:如果你有這僅適用於PHP> 5.3(因爲它使用an anonymous function

+0

我試過usort()並且它在執行時超時! –