我有一个数组,我只能通过变量变量正确访问,如下所示:
$foo['bar'] = "pie";
$fixed_name_variable = "foo['bar']";
echo $$fixed_name_variable;
在 roy echo 中pie
。除了它只是不返回任何东西。所以我需要知道这种方法是否真的可行,或者我是否需要重新考虑它。
刚注意到。在第二行,条形应该用引号引起来吗?
我有一个数组,我只能通过变量变量正确访问,如下所示:
$foo['bar'] = "pie";
$fixed_name_variable = "foo['bar']";
echo $$fixed_name_variable;
在 roy echo 中pie
。除了它只是不返回任何东西。所以我需要知道这种方法是否真的可行,或者我是否需要重新考虑它。
刚注意到。在第二行,条形应该用引号引起来吗?
尽管我讨厌鼓励这种行为,但您可以eval
在有限的范围内使用它来实现您的目标。
$foo['bar'] = "pie";
$fixed_name_variable = "foo['bar']";
$a = eval("return $$fixed_name_variable;");
echo $a; //outputs "pie"
$foo[$key_var]
应该工作,除非我误解了你的问题?
不,我不认为这是可能的。唯一(显然)可能是使用变量索引和访问$foo[$bar]
。
但是,无论如何,使用变量变量通常是非常糟糕的做法 - 特别是因为它们使调试和自动文档/变量查找变得非常困难。通常最好不要使用它们,而是使用数组。