PHP中变量的作用域
2019-01-23 21:04:28
一、PHP作用域规则
PHP具有6项基本的作用域规则:
1.内置超级全局变量可以在脚本的任何地方使用和可见。
2.常量,一旦被声明,可全局可见。
3.在一个脚本中声明的全局变量在整个脚本中是可见的,但不是在函数内部。
4.函数内部使用的变量声明为全局变量时,其名称要与全局变量名称一致。
5.在函数内部创建并被声明为静态的变量,无法在函数外部可见,但是可以在函数的多次执行中保持该值。
6.在函数内部创建的变量对函数来说是本地的,而当函数终止时,该变量也就不存在了。
二、超级全局变量
全局变量列表如下:
$GLOBALS 引用全局作用域中可用的全部变量,用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。
$_REQUEST 用于收集 HTML 表单提交的数据。
$_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。
$_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。也可以收集 URL 中的发送的数据。
$_FILES 用于文件上传。
$_FILES["file"]["name"] - 被上传文件的名称
$_FILES["file"]["type"] - 被上传文件的类型
$_FILES["file"]["size"] - 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码
$_ENV
$_COOKIE
$_SESSION
超级全局变量应用示例:
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>