基于辅助数组集中的元素数量对数组进行排序,作为PHP中的值

时间:2014-01-18 04:16:01

标签: php arrays php-5.3

我给出了一个填充的数组 -

$array = array(
   0 => array(2,3,4),
   1 => array(2,3,7,6,8),
   -- and so on  
 );

PHP / PHP5.x中是否有简写来根据主数组中每个键的值中的元素数量来完成对这样一个数组的排序? 感谢。

1 个答案:

答案 0 :(得分:1)

使用usort()

function cmp($a, $b) {
    if (count($a) == count($b)) {
        return 0;
    }
    return (count($a) < count($b)) ? -1 : 1;
}

usort($array, "cmp");

这是该功能的更优化版本(仅调用count()两次):

function cmp($a, $b) {
    $numA = count($a);
    $numB = count($b)
    if ($numA == $numB) {
        return 0;
    }
    return ($numA < $numB) ? -1 : 1;
}