PHP数组键中的双引号内的变量

时间:2011-02-21 13:59:25

标签: php arrays double quotes key

我的代码中有一些奇怪的东西,我真的没有得到这种行为 我总是使用带有字符串变量键的数组,如下所示:

$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

1 个答案:

答案 0 :(得分:0)

$ children [“id”]是否包含对象?然后输入int:

$id = (int) $children["id"];

然后你可以再次使用它作为$ id。