我试图通过arrays
了解PHP的某些行为。我阅读了手册和这个stck溢出帖子:
但有些事情对我来说还不清楚。
请看这个代码:
<?php
$array = [
'a',
3 => 'b',
1 => 'c',
'd',
];
var_dump($array[2]); // Null
var_dump($array[4]); // string(1) "d"
为什么PHP假定'd'
的索引是4
而不是2
?
更新
如果您认为值得投票,请解释原因。谢谢。
答案 0 :(得分:2)
那是因为如果你定义一个没有显式索引的元素,PHP将使用该数组的最高数字索引加1.
在您的情况下,您正在定义3 => 'b'
,因此下一个数组元素将具有索引4.