0

What's the best way in PHP to sort an array of arrays based on array length?

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)

I need sorting it based of size of array Become like this:

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)

Can someone help me to create function to sorting. thank you

2

1 Answer 1

3

you should use usort.

function cmp($a, $b){
    return (count($b) - count($a));
}
usort($array, 'cmp'); //$array is your array 
$arrayAfterSort = $array;
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.