有人可以向我解释一下 count 函数如何处理如下所示的数组吗?
我的想法是下面的代码输出 4,因为那里有 4 个元素:
$a = array
(
"1" => "A",
1=> "B",
"C",
2 =>"D"
);
echo count($a);
count
完全按照您的预期工作,例如它计算数组(或对象)中的所有元素 http://php.net/manual/en/function.count.php。但是您对包含四个元素的数组的假设是错误的:
- “1”等于 1,所以
1 => "B"
将覆盖"1" => "A"
.
- 因为您定义了 1,所以下一个数字索引将是 2,例如“C”是
2 => "C"
- 当你分配
2 => "D"
你覆盖了“C”。
所以你的数组将只包含1 => "B"
and 2 => "D"
这就是为什么count
给出 2. 您可以通过执行以下操作来验证这是真的print_r($a)
。这将给
Array
(
[1] => B
[2] => D
)
请通过http://www.php.net/manual/en/language.types.array.php http://www.php.net/manual/en/language.types.array.php again.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)