微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 函数中的变量变量无法访问Superglobals吗?

我无法通过函数内的变量变量访问超全局变量.我是问题的根源还是 PHP的微妙之处?以及如何绕过它?
print_r(${'_GET'});

工作良好

$g_var = '_GET';
print_r(${$g_var});

给我一个通知:未定义的变量:_GET

PHP无法识别这是一个全局变量访问:
它将$_GET和${‘_ GET’}编译为相同的操作码序列,即全局FETCH_R.另一方面,${$g_var}将导致本地FETCH_R.

这也在docs中提到:

Superglobals cannot be used as variable variables inside functions or class methods.

原文地址:https://www.jb51.cc/php/134506.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐