有人可以向我解释一下count函数如何与下面的数组一起工作吗?
我的想法是输出4的以下代码,因为那里有4个元素:
$a = array
(
"1" => "A",
1=> "B",
"C",
2 =>"D"
);
echo count($a);
答案 0 :(得分:28)
count
完全符合您的预期,例如它counts all the elements in an array (or object)。但是你对包含四个元素的数组的假设是错误的:
1 => "B"
将覆盖"1" => "A"
。 2 => "C"
2 => "D"
时,你覆盖了“C”。 因此,您的数组只会包含1 => "B"
和2 => "D"
,这就是count
给出的原因2.您可以通过执行print_r($a)
来验证这是真的。这将给出
Array
(
[1] => B
[2] => D
)
答案 1 :(得分:7)
您可以使用此示例来了解count如何使用递归数组
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// recursive count
echo count($food, COUNT_RECURSIVE); // output 8
// normal count
echo count($food); // output 2
?>
答案 2 :(得分:1)
您创建的数组中只有两个元素,因此返回的数量为2.您正在覆盖元素,以查看数组使用中的内容:
print_r($a);