我有这个数组:
$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。
你可能是这个意思:
echo max(array_map('count', $number));
编写一个遍历数组的循环。对于数组中的每个数组,获取该数组中的元素数,如果它大于迄今为止的最大值(例如$max
),则设置$max
为元素数。然后,当您完成对数组的循环时,$max
就有了答案。
使用 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)
);
此代码经过测试并适用于您的数组。当然,带有计数函数的 array_map 是维度 1 最大计数的最佳解决方案
<?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);
?>
您可以尝试以下代码:
$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;