2016-11-18 125 views
0

PHP中基於數組長度對數組進行排序的最佳方式是什麼?基於數組長度對數組進行排序

array (size=3) 
    0 => 
     array (size=3) 
     0 => string '1' (length=1) 
     1 => string '2' (length=1) 
     2 => string '3' (length=1) 
    1 => 
     array (size=6) 
     0 => string '1' (length=1) 
     1 => string '2' (length=1) 
     2 => string '3' (length=1) 
     3 => string '4' (length=1) 
     4 => string '5' (length=1) 
     5 => string '6' (length=1) 
    2 => 
     array (size=4) 
     0 => string '1' (length=1) 
     1 => string '2' (length=1) 
     2 => string '3' (length=1) 
     3 => string '4' (length=1) 

我需要基於陣列 的大小變成這個樣子的排序是:

array (size=3) 
    0 => 
     array (size=6) 
     0 => string '1' (length=1) 
     1 => string '2' (length=1) 
     2 => string '3' (length=1) 
     3 => string '4' (length=1) 
     4 => string '5' (length=1) 
     5 => string '6' (length=1) 
    1 =>  
     array (size=4) 
     0 => string '1' (length=1) 
     1 => string '2' (length=1) 
     2 => string '3' (length=1) 
     3 => string '4' (length=1) 
    2 => 
     array (size=3) 
     0 => string '1' (length=1) 
     1 => string '2' (length=1) 
     2 => string '3' (length=1) 

有人可以幫助我創造功能排序。謝謝

+2

最好的辦法是使用'usort' –

+0

http://stackoverflow.com/questions/10852964/sorting-a-multi-dimensional-array-according-to-length-in-php –

回答

3

你應該使用usort

function cmp($a, $b){ 
    return (count($b) - count($a)); 
} 
usort($array, 'cmp'); //$array is your array 
$arrayAfterSort = $array; 
相關問題