在php中,有很多预定义变量都是超全局变量,这意味着,他们在一个脚本的作用域内都是可以使用的,在函数或方法中无需执行 global $variable; 就可以访问它们
下面我们将要学习的超全局变量
$GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION
本章节我们将讲解几个常用的超级全局变量,其余变量我们在接下来几个章节会介绍到。
1. $GLOBALS
局变量组,在一个PHP脚本的全部作用域中都可以访问,
它是一个包含了全部变量的全局组合数组。变量的名字就是数组的键
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); //调用函数 echo $z; ?>
2. $_SERVER
是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的 数组, 这个数组中的项目由 Web 服务器创建,
不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里
列举出来的项目
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; echo "<br>"; echo $_SERVER['HTTP_HOST']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; ?>
3. $_REQUEST
$_REQUEST 用于收集 HTML 表单提交的数据
<html> <body> <form method="post" action=""
ype="text" name="name"> <input type="submit"> </form> <?php $name = $_REQUEST['name']; echo $name; ?> </body> </html>
4. $_POST 与 $_GET
被广泛用于获取表单数据
PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文件。 在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_POST 来收集表单中的 input 字段数据:
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="name"> <input type="submit"> </form> <?php $name = $_REQUEST['name']; echo $name; ?> </body> </html>
PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
$_GET 也可以收集URL中发送的数据。
提示:你如果想学习更多关于 $_POST 和 $_GET 的知识,请访问我们的 PHP 表单 章节