在研究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吗?
答案 0 :(得分:2)
是的。您可以通过将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
)
答案 1 :(得分:0)
您没有正确的引号和数字。 试试这个:
obj = JSON.parse(JSON.stringify("Hello from parent"));
// var val = "<?php echo $msg ?>";
// obj = JSON.parse(var);