今天我遇到了这样一个可怕的情况。这个bug似乎与PHP
有关。
我正在尝试访问$_SERVER
或其他超级全局变量,但从字符串名称访问。
这个版本的实现正在发挥作用
var_dump(${"_SERVER"}); // working
但当尝试对变量执行此操作时,会收到未找到变量的通知
$var_name = "_SERVER";
var_dump(${$var_name}); // Notice</b>: Undefined variable: _SERVER in...
只有全局变量才会发生这种情况。
那里发生了什么?有人能解释一下这种情况吗。
变量不能与函数或类方法中的PHP的Superglobal数组一起使用。演示
参考php-doc变量
请注意,变量变量不能与PHP一起使用函数或类方法中的超全局数组。变量$this也是一个无法引用的特殊变量动态地。