0

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

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

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

echo $$fixed_name_variable;

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

刚注意到。在第二行,条形应该用引号引起来吗?

4

3 回答 3

1

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

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

$a = eval("return $$fixed_name_variable;"); 
echo $a; //outputs "pie"
于 2011-02-21T11:27:33.893 回答
0

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

于 2011-02-21T11:20:58.387 回答
0

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

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

于 2011-02-21T11:21:08.960 回答