$array = Array (
' 123456 ' =>array (' aa ', ' BB ', ' cc '),
' 12345645 ' =>array (' AA ', ' cc '),
' 1234564555 ' =>array (' AA ', ' DD ', ' cc ', ' BB '),
' 12364555 ' =>array (' AA ', ' DD ', ' CC '),
);
How to row by the length of the sub-array, I want the result is
$array = Array (
' 12345645 ' =>array (' AA ', ' cc '),
' 123456 ' =>array (' aa ', ' BB ', ' cc '),
' 12364555 ' =>array (' AA ', ' DD ', ' CC '),
' 1234564555 ' =>array (' AA ', ' DD ', ' cc ', ' BB '),
);
Reply to discussion (solution)
$array = Array (' 123456 ' =>array (' aa ', ' BB ', ' cc '), ' 12345645 ' =>array (' AA ', ' cc '), ' 1234564555 ' = >array (' AA ', ' DD ', ' cc ', ' BB '), ' 12364555 ' =>array (' AA ', ' DD ', ' cc '), foreach ($array as $i + $v) { $r [ ] = count ($v); $k [] = $i;} Array_multisort ($r, $k, $array);p Rint_r (Array_combine ($k, $array));
Array ( [12345645] = = Array ( [0] = AA [1] = cc ) [123456] = = Array ( [0] = = AA [1] = BB [2] = cc ) [12364555] = = Array ( [0] = AA [1] = DD [2] =&G T CC ) [1234564555] = Array ( [0] = AA [1] = DD [2] = = CC [3] = bb< c29/>))