动态访问PHP数组

CSc*_*ulz 5 php arrays

我试图使用数组中$this->$arrDataName[$key]的键访问元素.但PHP解释错误.$key$this->$arrDataName

我试了一下{ }周围的$arrDataName$this->{$arrDataName}[$key],但它不工作.

在php.net上我找到了一个建议,但我无法实现.

为了将变量变量与数组一起使用,您必须解决模糊问题.也就是说,如果你写$$ a [1],那么解析器需要知道你是否想要使用$ a [1]作为变量,或者你想要将$$作为变量,然后是[1]索引来自那个变量.解决这种歧义的语法是:第一种情况为$ {$ a [1]},第二种情况为$ {$ a} [1].

也许任何人都可以帮助我.

谢谢!

编辑:

我认为它不起作用,但我忘了填充数组.
最后它有效.:)
这是解决方案:$this->{$arrDataName}[$key]

Mac*_*ade 5

你的语法是正确的:

$this->{$varName}[$key]
Run Code Online (Sandbox Code Playgroud)

您还可以使用额外的变量:

$myTempArr = $this->$arrDataName;

$myTempArr[ $key ];
Run Code Online (Sandbox Code Playgroud)

恕我直言,可读性更好......