我的代码中有一些奇怪的东西,我真的没有得到这种行为 我总是使用带有字符串变量键的数组,如下所示:
$string = "my key";
$array[$string] = "my value";
但在一个案例中,它不起作用。我被迫将$string
放入双引号中,否则我的数组仍为空
我真的不明白为什么。此外,在我的代码中,我使用相同的"$string"
作为id来创建另一个数组,并且它没有双引号就可以正常工作。
这是我需要双引号的代码(array[]
):
foreach($xml2->menu as $children) {
$id = $children['id'];
$this->array["$id"] = $children->label;//Problem here
}
这里,没有双引号的代码($resultArray[]
):
for($i=0; $i < count($idArray); $i++){
$id = $idArray[$i];
$resultArray[$id] = $this->array[$id];//Problem here
}
有人知道为什么会这样吗?
编辑:
$idArray[$i]
和$children[$id]
的内容是"about"
,"contact"
等字符串。
当我说“它不起作用”时,我的意思是创建的数组是null
。
答案 0 :(得分:0)
$ children [“id”]是否包含对象?然后输入int:
$id = (int) $children["id"];
然后你可以再次使用它作为$ id。