嘿@Weltkind,首先我建议你阅读“
http://php.net/manual/en/language.types.array.php”,现在来回答你的问题,在PHP中,数组键可以是字符串或整数,如果你不指定键,则默认设置为整数,并且下一个数组键的值取决于前一个数组整数键,即下一个数组键=前一个整数键+1;在PHP数组中,相同的键值将被相同的键覆盖。现在让我们用你的array2来理解一下:
<?php
$array2 = array("1"=>'Doctor','Boss', 2=>'Lynx', 'Lentin', 'Endless');
1)由于您使用“1”键启动了数组,因此第一个键的值为[1] =>'Doctor',当前数组如下:array([1] =>'Doctor')。
现在下一个键是上一个整数键(即1)+1=2;
2)对于第二个键,其值为[2] =>'BOSS',当前数组如下:array([1] =>'Doctor', [2] =>'BOSS')。
3)下一个键是上一个整数键(即2)+1=3,它将移动到下一个键,但由于您提到下一个键是[2] =>'Lynx',因此在键[2]处,该值将被值'BOSS'覆盖为'Lynx'。当前数组如下:array([1] =>'Doctor', [2] =>'Lynx')。
现在我们有了下一个键[3]。
4) 下一个键是[3] => 'Lentin'
当前数组为:array([1] => 'Doctor', [2] => 'Lynx', [3] =>
'Lentin');
现在下一个键 = 前一个整数键(即3) + 1 = 4;
5) 下一个键是[4] => 'Endless'
当前数组为:array([1] => 'Doctor', [2] => 'Lynx', [3] =>
'Lentin', [4] => 'Endless');
这就是为什么最终的数组如下所示:
array(
[1] => 'Doctor',
[2] => 'Lynx',
[3] => 'Lentin',
[4] => 'Endless'
);