为什么PHP松散数组的项值?

Wel*_*ind 6 php arrays

我有值的数组:

$array1 = array('Boss', 'Lentin', 'Endless'); 
print_r ($array); 
Run Code Online (Sandbox Code Playgroud)

结果将是:

Array ( [0] => Boss [1] => Lentin [2] => Endless
Run Code Online (Sandbox Code Playgroud)

没关系.

但是,如果我用一个键向这个数组添加两个元素,那么"Boss"元素将会丢失.

$array2 = array("1"=>'Doctor','Boss', 2=>'Lynx', 'Lentin', 'Endless');
print_r ($array2);
Run Code Online (Sandbox Code Playgroud)

结果将是:

Array ( [1] => Doctor [2] => Lynx [3] => Lentin [4] => Endless ) 
//Where is "BOSS"???
Run Code Online (Sandbox Code Playgroud)

为什么?

Moh*_*mad 8

当php创建数组时,Doctor在索引1和Boss索引2中设置,但2=>'Lynx'导致php覆盖索引2并Lynx在其中设置.

您可以在设置索引之后设置它或使用索引.例如喜欢

$array2 = array("1"=>'Doctor', 2=>'Lynx', 'Boss', 'Lentin', 'Endless');
// or 
$array2 = array("1"=>'Doctor', 2=>'Boss', 3=>'Lynx', 'Lentin', 'Endless');
Run Code Online (Sandbox Code Playgroud)


小智 5

当创建$ array时,'Boss'将首先存储在索引2中(Array([2] =>'Boss'),稍后由'Lynx'覆盖