【发布时间】:2011-07-11 06:47:40
【问题描述】:
我试图通过 GET 参数获取超全局变量的名称。我被告知在获取请求中只传递_VAR_NAME(没有$),所以在程序中我必须通过一个变量变量来访问它:$$_GET['parameter_name']。
除了$_SERVER,一切都很好。为了尝试出了什么问题,我只是做了一个小 php 脚本来测试发生了什么。代码如下:
<?php
// ¡¡ This does not work !!
$nombre = "_SERVER";
$var = $$nombre;
print_r($var);
// This works
$nombre = "_GET";
$var = $$nombre;
print_r($var);
?>
_SERVER 版本不起作用有什么原因吗?
我收到以下错误:
注意:未定义变量:
_SERVERin ...
【问题讨论】:
-
您确定建议是让超全局可引用吗?这似乎很奇怪。通常你最多只能使用数组索引来做到这一点。
-
你有哪个php版本?在cli上运行?建议:在你的代码中始终使用英文
-
phpinfo() 报告:PHP 版本 5.3.3-1ubuntu9.3
-
似乎服务器中发生了一些事情,因为我可以毫无问题地在其他服务器上运行脚本。我会联系服务器管理员。
标签: php superglobals