2016-11-18 4 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; 
Смежные вопросы