按其子数组的大小对多维数组进行排序

pet*_*ter 2 php sorting multidimensional-array sub-array

我有这个多维数组:

Array
(
    [0] => Array
        (
        [0] => 2012-02-26 07:15:00
        )
    [1] => Array
        (
            [0] => 2012-02-26 17:45:00
            [1] => 2012-02-26 18:55:00
        )
    [2] => Array
        (
            [0] => 2012-02-26 18:55:00
            [1] => 2012-02-26 17:45:00
        )
    [3] => Array
        (
            [0] => 2012-02-26 18:57:00
            [1] => 2012-02-26 17:45:00
            [2] => 2012-02-26 18:55:00
        )
Run Code Online (Sandbox Code Playgroud)

当我计算子阵列时,我得到1,2,2,3.我怎么能在3,2,2,1中收到它?我需要获得具有最高子阵列计数的最后3个子阵列(DESC,它意味着3,2,2).我怎样才能做到这一点?

Shi*_*dim 7

您可以通过使用usort函数来实现它.

function cmp($a, $b){
    return (count($b) - count($a));
}
usort($array, 'cmp');
$highest_3_sub_arrays = array_slice($array, 0, 3);
Run Code Online (Sandbox Code Playgroud)