(1)
<?php
$a[ ]=1; //索引为0
$a[ "ds"]=2;
$a[ ]=3; //索引为1
$a[ "dssa"]=2;
$a[ ]=22; //索引为2
echo $a[2];
?>
没有关联字符的,它的索引值就默认从0开始分配。。。。。
而如果是自定义的数字索引,则如果索引留空,则会自动按序加上自己的索引值。如:
<?php
$a[1]=2;
$a[8]=4;
$a["sa"]=5;
$a[ ] =10; //索引会自动变化为9,而非又从0开始。
echo $a[9];
?>
(2)
<?php
$a["8"]=2;
$a[8]=3;
var_dump($a);
?>
结果是:
array 8 => int 4
这说明,数字即使加上引号变成字符串,实质也就是数字索引,何况双引号会自动解析还原成数字,所以这里前面的$a["8"]相当于$a[8],于是被覆盖。