我有一个具有值的数组:
$array1 = array('Boss', 'Lentin', 'Endless');
print_r ($array); 其结果将是:
Array ( [0] => Boss [1] => Lentin [2] => Endless没问题的。
但是,如果我用一个键将两个元素添加到这个数组中,那么"Boss“元素就会丢失。
$array2 = array("1"=>'Doctor','Boss', 2=>'Lynx', 'Lentin', 'Endless');
print_r ($array2);其结果将是:
Array ( [1] => Doctor [2] => Lynx [3] => Lentin [4] => Endless )
//Where is "BOSS"???为什么?
发布于 2017-02-13 13:17:02
首先我建议你读一读"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 =>‘医生’ 当前数组类:数组(1 =>“医生”)
下一个键=前一个整数键(即1) +1= 2;
2)对于第二个键值为2 => 'BOSS‘ 当前数组类:数组(1 =>‘医生’,2 => 'BOSS') 3) next key =以前的整数键(即2) +1=3,它将携带到下一个键,但正如您所提到的,下一个键是2 => 'Lynx‘,所以在键2处,值'BOSS’将值重写为'Lynx';当前的数组如下:数组(1 =>‘array’,2 => 'Lynx')
现在我们的下一个钥匙是3
4)下一个值的键是3 => 'Lentin‘ 当前阵列:阵列(1 =>‘博士’,2 => 'Lynx',3 => 'Lentin'); 下一个键=前一个整数键(即3) +1= 4; 5)下一个值的键是4 =>‘没完没了’ 当前阵列:阵列(1 =>‘博士’,2 => 'Lynx',3 => 'Lentin',4 =>‘无止境’);
这就是为什么最后的数组如下所示:
array(
[1] => 'Doctor',
[2] => 'Lynx',
[3] => 'Lentin',
[4] => 'Endless'
);https://stackoverflow.com/questions/42204262
复制相似问题