我有一个数组,我只能通过变量正确访问,如下所示:
$foo['bar'] = "pie";
$fixed_name_variable = "foo['bar']";
echo $$fixed_name_variable;
在theroy echo的pie
中。除了它只是没有返回任何东西。所以我需要知道这种方法是否真的可行,或者我是否需要重新思考它。
刚刚注意到。在第二行,该栏应该是引号吗?
答案 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]
。
然而,使用变量通常是非常糟糕的做法 - 特别是因为它们使调试和自动文档/变量查找非常困难。通常最好不要使用它们,而是使用数组。