Php 为什么';$GLOBALS superglobal是否有下划线?

Php 为什么';$GLOBALS superglobal是否有下划线?,php,superglobals,Php,Superglobals,只是出于好奇。所有超全局文件(例如$\u POST,$\u GET,$\u文件,$\u会话)都有下划线,只有$GLOBALS超全局文件没有下划线。为什么会这样?下划线在PHP中的超全局变量和PHP中的一般变量中是什么意思?提前感谢。之前,$\u POST被称为$HTTP\u POST\u VARS,其他超全局的名称也类似 选择$\u POST完全可能是因为编写$POST=&$HTTP\u POST\u VARS在PHP4中的位置非常高,因此下划线用于防止破坏旧代码 当然,这只是一个猜测 我在PH

只是出于好奇。所有超全局文件(例如
$\u POST
$\u GET
$\u文件
$\u会话
)都有下划线,只有
$GLOBALS
超全局文件没有下划线。为什么会这样?下划线在PHP中的超全局变量和PHP中的一般变量中是什么意思?提前感谢。

之前,
$\u POST
被称为
$HTTP\u POST\u VARS
,其他超全局的名称也类似

选择
$\u POST
完全可能是因为编写
$POST=&$HTTP\u POST\u VARS
在PHP4中的位置非常高,因此下划线用于防止破坏旧代码


当然,这只是一个猜测

我在PHP手册页面上看到一条注释,上面写着

注:可变可用性与所有其他超全局性不同, $GLOBALS基本上一直在PHP中可用

也许这就是为什么他们想保持这样,但这只是一个猜测


这是一个很好的问题,但可能是因为同样的原因,PHP还有很多其他奇怪的功能,比如解析
$foo=bar只不过是一个通知。有趣的猜测,我真的没有想过。如果你有任何令人惊奇的消息来源,现在我将投票