数组中的最大索引

时间:2012-12-16 06:39:29

标签: php mysql arrays max

我有这个数组:

$number= array(

                array([0]=>2,[1]=>2)
                array([0]=>2,[1]=>2,[2]=>2,[3]=>2)
                array([0]=>2,[1]=>2,[2]=>2)
                array([0]=>2,[1]=>2)
)

我想要这个数组中的最大索引。对于这个数组是4。

5 个答案:

答案 0 :(得分:8)

你可能是这个意思:

echo max(array_map('count', $number));

答案 1 :(得分:1)

编写一个迭代数组的循环。对于数组中的每个数组,获取该数组中的元素数,如果它大于目前为止的最大数(例如$max),则将$max设置为元素数。然后,当您完成数组上的循环时,$max会得到您的答案。

答案 2 :(得分:0)

使用count()函数:

$max = count($number); // returns 4

<强>更新

你的问题不够明确。提供的注释和答案表明您希望获得数组中存在的元素数量,这些元素的元素多于$number数组中的其他数组。在这种情况下,@xdazz答案是最适合您的。编写像这样的$number数组更好更正确:

$number = array(
    array(1, 2),
    array(1, 2, 3, 4, 5),
    array(1, 2, 3),
    array(1, 2)
);

答案 3 :(得分:0)

此代码经过测试并适用于您的阵列。当然,带有count func的array_map是Dimention 1 max count

的最佳解决方案
<?php
    $number= array(

                    array(0=>2,1=>2),
                    array(0=>2,1=>2,2=>2,3=>2),
                    array(0=>2,1=>2,2=>2),
                    array(0=>2,1=>2),
    );

    $ak = array_values($number);
    for($i;$i<count($number);$i++){
    $c[] = count($ak[$i]);
    }
    echo max($c);
    ?>

答案 4 :(得分:0)

您可以尝试以下代码:

$data = array(
    "apples" =>
        array("red", "yellow", "pineapples","enam"),
    "bananas" =>
        array("small", "medium", "big","enam","enam"),
    "vegs" =>
        array("potatoes", "carrots", "onions")
);

foreach($data as $in_arr){
    $count = count($in_arr);
    if($count>$max)$max = $count;
}
echo "The max:".$max;