PHP 中变量的作用域可以分为:
超全局变量: 在一个脚本的任何作用域里都可以被访问,可直接在局部范围里使用,不需要用 global 声明.
比如
$GLOBALS,$_ENV,$_SERVER,$_GET,$_POST,$_FILES,$_SESSION,$_COOKIE 等.
全局变量: 声明的变量不在
class,function 等语言结构内部。如果要在 class,function 等内部使用全局变量,需要用关键词 global 或者超全局变量
$GLOBALS.
局部变量: 在 class,function 等结构语句内部声明的变量.
静态变量: 在
function 中使用关键词 static 声明的变量,静态变量的值保留直至当前请求的脚本运行结束,比如可以用来保存数据库连接对象.
对于局部变量要重点理解:
局部变量的作用域是函数头到函数尾。
一个 php
文件,无论有几个 <?php ?>
标签,其实都是连贯的。标签之外的语句都被视为 echo
。标签也不会影响作用域。
局部变量也称为内部变量,实在函数内部声明的变量,其作用于也仅限于函数内部,离开函数后在使用这种变量是非法的。