给一个当前最大键名是负值的数组添加一个新值,则新生成的的索引将为零(0)。以前新生成的索引为当前最大索引加一,和正值的索引相同。
使用 TRUE 作为键名将使 integer 1 成为键名。使用 FALSE 作为键名将使 integer 0 成为键名。使用 NULL 作为键名将等同于使用空字符串。使用空字符串作为键名将新建(或覆盖)一个用空字符串作为键名的值,这和用空的方括号不一样。
$switching = array( 10, // key = 0
5 => 6,
3 => 7,
'a' => 4,
11, // key = 6 (maximum of integer-indices was 5)
'8' => 2, // key = 8 (integer!)
'02' => 77, // key = '02'
0 => 12 // the value 10 will be overwritten by 12
);
数组的下标默认从int型的0开始,如不定义下标增加数组元素,数组下标将会在当前数组下标中找出int型的下标中最大的一个的基础上+1
如:
$test =
array(
2=>2,
9=>6,
4=>7,
''=>5,//空字符串下标
'sss'=>7,//str型下标
true=>33,
false=>66,
3//此处的下标将会使10
);
var_dump($test)
打印结果
array (size=8)
2 => int 2
9 => int 6
4 => int 7
'' => int 5
'sss' => int 7
1 => int 33
0 => int 66
10 => int 3