Аналогично ответу @ alex, но без анонимной функции (поэтому она работает на PHP <5.3) </p>
<?php
$array = array(
'three' => array(
'one',
'two',
'three'
),
'one' => array(
'one'
),
'two' => array(
'one',
'two'
),
);
function csort($a, $b) {
return count($a) - count($b);
}
uasort($array, 'csort');
print_r($array);
?>
Вывод:
Array
(
[one] => Array
(
[0] => one
)
[two] => Array
(
[0] => one
[1] => two
)
[three] => Array
(
[0] => one
[1] => two
[2] => three
)
)