为什么 (点)和空格在PHP $ _GET数组中更改为_(下划线)?

Kon*_*ski 7 php syntax get

PHP文档中,我发现了以下部分:

变量名中的点和空格将转换为下划线.例如<input name="a.b" />变成$_REQUEST["a_b"].

我知道,虽然PHP不能让变量$a.bregister_globals,但这种解释并不令我完全满意.虽然确实register_globals会这样做(或者,即使因为没有${'a.b'}),但是为什么它会影响全局变量,比如$_GET技术上你必须从开始就给出字符串(所以PHP程序员不能忘记有关${'a.b'}的东西)的情况$_GET).

为什么它只影响点和空间?虽然我可以理解点(<input type=image>),为什么它会影响空间.连字符怎么样?