PHP变量作用域指的是PHP变量能够被访问到的范围,也可以被理解为PHP变量的生命周期。
在PHP中,我们有四种类型的PHP变量作用域,下面我们由窄到宽地介绍一下它们:

1. 局部作用域:
函数、方法内生命的变量,只能在函数、方法内使用,外界访问不到。
<?php
function f(){
$str='Dotcpp编程';
}
/* 由于$str是函数内声明的变量,所以"echo $str"会认为"$str"是没有赋值的变量 */
echo $str;
?>2. 全局作用域:
除局部作用域外,在PHP脚本任意地方声明的变量都可以被访问到。
<?php $str='Dotcpp编程'; ?> <?php echo $str;//打印 Dotcpp编程 ?>
3. 类作用域:
类内属性和方法的作用域由三个关键字控制,分别是‘public(公共区域)’、‘protected(保护区域)’和‘private(私有区域)’。具体管理方法如下:
public:类内部、子类、类外部均可访问。
protected:类内部、子类可访问,类外部不可访问。
private:仅类内部可访问,子类和外部均不可访问。
<?php
class obj
{
public $p1='Dotcpp编程';
protected $p2= 'Dotcpp编程';
private $p3= 'Dotcpp编程';
}
$o=new obj;
echo $o->p1;//Dotcpp编程
echo $o->p2;//不能访问
echo $o->p3;//不能访问
?>4. 超全局作用域:
PHP预存的变量、数组能够在脚本的任何一个地方被访问。常见的超全局变量由以下几个:
变量 | 功能 |
$_GET | 获取URL参数 |
$_POST | 获取POST数据 |
$_SESSION | 存储会话数据 |
$_COOKIE | 存储Cookie数据 |
$GLOBALS | 访问全局变量 |
总结:了解PHP作用域,能够更好地掌握PHP编码规则,为以后的项目打好基础。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程