超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。 PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。 PHP 超级全局变量列表: $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION
$GLOBALS
$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
//输出:/*100*/
以上实例中 z 是一个$GLOBALS数组中的超级全局变量,该变量同样可以在函数外访问。
$_SERVER
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
//输出/*/try/demo_source/demo_global_server.phpwww.runoob.comwww.runoob.comhttp://www.runoob.com/try/showphp.php?filename=demo_global_serverMozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36/try/demo_source/demo_global_server.php*/
当然$_SERVER中不止这些信息,还有很多可以查api。
$_REQUEST
$_REQUEST 用于收集HTML表单提交的数据。 以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 Submit 按钮提交表单数据时, 表单数据将发送至标签中 action 属性中指定的脚本文件。 在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_REQUEST 来收集表单中的 input 字段数据:
">Name:
$_REQUEST使用案例
$_POST
$_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:method=post。 以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 Submit 按钮提交表单数据时, 表单数据将发送至标签中 action 属性中指定的脚本文件。 在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_POST 来收集表单中的 input 字段数据:
">Name:
$_POST使用案例
$_GET
$_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:method=get。 $_GET 也可以收集URL中发送的数据。
Test $GET
从定义上来看$_POST和$_REQUEST的定义一样,那到底有什么区别呢? 这里有比较简单的解释: $_GET变量接受所有以get方式发送的请求,及浏览器地址栏中的?之后的内容 $_POST变量接受所有以post方式发送的请求,例如,一个form以method=post提交,提交后php会处理post过来的全部变量 而$_REQUEST支持两种方式发送过来的请求,即post和get它都可以接受,显示不显示要看传递方法,get会显示在url中(有字符数限制),post不会在url中显示,可以传递任意多的数据(只要服务器支持)