php中的全局变量($_POST,$_GET,······)关系整理

PHP中的全局变量

PHP中的全局变量

总结:

1php中的全局变量主要分为系统自动全局变量和用户自定义的全局变量。系统自动全局变量包括:$_POST$_GET$_COOKIE$SESSION等(图示中标为同一颜色的),

用户自定义的全局变量例如:global $a;此处$a即为全局变量。

2)关于全局变量的访问:

#)所有的全局变量都可以通过$GLOBALS[$name]访问。

#$HTTP_*_VARS是旧式的访问方法,这要保证register_long_array是打开的。但是这种方式无法访问$_REQUEST变量和用户定义的变量。图示中有箭头指向$HTTP_*_VARS就表示能够访问。

#)对于不同类的变量可以用不同的方法访问,例如cookie类变量可以用$_COOKIE[$name]访问。

#$_ENV $_SERVER $_GET这些变量有些特殊。比如$_ENV[$key],也可以通过$GLOBALS[$key]访问。

#)$_REQUEST变量包含$_GET $_POST $_COOKIE的变量。就是$_GET[$key],可以通过$_REQUEST[$key]访问。

实例:

比如我们要访问通过url传过来的变量:http://blog.webfuns.net?id=tomheng

以下几种方式都可以访问到这些变量:

$_GET[‘id’]=$_REQUEST[‘id’]=$GLOBLAS[‘_GET’][”id’]

如果register_long_array是打开的:$_HTTP_GET_VARS[‘id’]也可以访问(不安全,一般不适用这种方式)

如果register_global 也打开的换,$id也可以访问(不安全,一般不适用这种方式)

唠叨:

这样一整理可能会更容易理解一下,其实在实践中全局变量没那么复杂,但是这样整理清楚他们的关系之后在一些细节问题上还是有帮助的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注