PHP变量作用域指的是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编码规则,为以后的项目打好基础。

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)