可以通过变量变量访问数组值吗?

时间:2011-02-21 11:17:57

标签: php variable-variables

我有一个数组,我只能通过变量正确访问,如下所示:

$foo['bar'] = "pie";

$fixed_name_variable = "foo['bar']";

echo $$fixed_name_variable;

在theroy echo的pie中。除了它只是没有返回任何东西。所以我需要知道这种方法是否真的可行,或者我是否需要重新思考它。

刚刚注意到。在第二行,该栏应该是引号吗?

3 个答案:

答案 0 :(得分:1)

虽然我讨厌鼓励这种行为,但您可以使用eval在有限的范围内实现目标。

$foo['bar'] = "pie";
$fixed_name_variable = "foo['bar']";

$a = eval("return $$fixed_name_variable;"); 
echo $a; //outputs "pie"

答案 1 :(得分:0)

$foo[$key_var]应该有效,除非我误解了你的问题?

答案 2 :(得分:0)

不,我不认为这是可能的。 (显然)唯一可能的是使用变量索引,并访问$foo[$bar]

然而,使用变量通常是非常糟糕的做法 - 特别是因为它们使调试和自动文档/变量查找非常困难。通常最好不要使用它们,而是使用数组。