Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 可变超球_Php - Fatal编程技术网

Php 可变超球

Php 可变超球,php,Php,在PHP中 var_dump(${'_GET'}); // array(0) { } - #1 $var = '_GET'; var_dump(${$var}); // array(0) { } - #2 function test() { var_dump(${'_GET'}); // array(0) { } - #3 $var = '_GET'; var_dump(${$var}); // NULL - #4 } test(); 发生了什么事?这不是一个b

在PHP中

var_dump(${'_GET'});   // array(0) { } - #1

$var = '_GET';
var_dump(${$var});     // array(0) { } - #2

function test() {
  var_dump(${'_GET'}); // array(0) { } - #3
  $var = '_GET';
  var_dump(${$var});   // NULL - #4
}
test();
发生了什么事?

这不是一个bug

警告 请注意,变量不能与PHP的 函数或类方法中的超全局数组。变量 $这也是一个无法引用的特殊变量 动态地


对于输出
NULL
:E_注意:键入8——未定义的变量:_GETI只是想理解PHP文档中的这个“警告”,因为它似乎并不完全正确,除非我还遗漏了什么?最初的问题似乎是一个范围问题——就像任何(普通)全局变量一样?如果只包含
global${$var}
变量转储之前(${$var})在函数内部,然后它看起来工作正常(已测试PHP5.2、5.5)。我错过了什么吗?@w3d:警告意味着你不能
$$var
,特别是当
$var
“\u GET”
等时。它对所有其他变量都起作用。尽管你可以先调用
全局$$var
,就像对任何普通全局变量一样。