0

我对如何使用 $$ 将字符串用作变量感到困惑,主要是在使用字符串来引用数组索引时。考虑以下情况:

$colors = array(
'r'=>"red",
'b'=>"blue"
);
$vr = "colors[r]"; //I tried even this "color['r']"
echo $$vr; // I tried even this ${$vr}

任何人都可以告诉是否可以执行上述操作。预期的 o/p 是红色的,使用“color[r]”作为字符串,然后将其用作变量。

4

1 回答 1

0

你不能直接这样做。考虑以下:

$varName = array_shift(explode('[', $vr));

foreach($$varName as $key=>$value){
    echo $key.": ".$value."<br />";
}

这将打印出来:

r: red
b: blue

变量变量只是第一部分(颜色)。您不能在其中包含密钥。

于 2013-07-07T09:25:30.687 回答