PHP $ _GET/$ _ POST通过变量变量

mse*_*ole 4 php variable-variables

我正在尝试使用变量动态访问$ _GET和$ _POST数组等.我试图这样做的原因是我可以在多个数组上执行类似的操作,而无需为每个数组声明特定的迭代.我有理由相信这是可能的,因为PHP的文档说它能够使用变量来动态访问数组,但是我无法让它工作.一个简单的演示是当我试图验证某个属性已被设置时.

if(isset(${$this->_array}[$property])) { return ${$this->_array}[$property]; }
else { return null; }
Run Code Online (Sandbox Code Playgroud)

当我运行上面的脚本时,我总是得到null,但是当我静态地寻找所需的属性时,手动使用$ _GET或$ _POST,我得到了预期的结果.我有三重检查$this->_array,$property他们正在返回正确的字符串值.这些数组是否不可用于此类访问,或者我做错了什么?

cHa*_*Hao 6

Superglobals(例如$_POST)不能用作函数内的变量变量.

你可以说出类似的东西$post = $_POST;,然后使用'post'并且它可以工作,但直接使用'_POST'不会.