2016-11-18 127 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; 
相关问题