在研究PHP数组时,我遇到了一个相当有趣的例子:
<?php
$example = array(
"1"=>"A", 1=>"B", "C", 2=>"D"
);
var_dump($example);
?>我原以为这段代码会显示三个值: B、C和D。但是,只打印了B和D:
array(2) {
[1]=>
string(1) "B"
[2]=>
string(1) "D"
}我理解A被B替换是因为键(字符串)“1”实际上被转换为(int) 1。
我知道整数键是通过在数组的最后一个定义的整数键上加1来创建的。是否将值C替换为D,因为在创建数组时,下一个可能分配给C的整数键是1+1 =2?
发布于 2018-10-17 03:42:05
就是这样。您可以通过将D(顺便说一句,记住引号)分配给不同的键来测试它:
<?php
$example = [ "A", "B", 1 => "C" ];
print_r($example);
<?php
$example = [ "1" => "A", "1" => "B", "C", 3 => "D" ];
print_r($example);结果:
Array
(
[0] => A
[1] => C
)
Array
(
[1] => B
[2] => C
[3] => D
)发布于 2018-10-17 03:47:48
您没有正确的引号和数字。试试这个:
<?php
$example = array(
"1"=>"A", "1"=>"B", "2"=>"C", "3"=>"D"
);
var_dump($example);
?>https://stackoverflow.com/questions/52842782
复制相似问题