PHP中作用域划分为哪几种?作用域能够被访问的区域是?
上篇文章给大家介绍了《PHP中cookie和session的区别是什么?》,本文继续给大家介绍PHP中作用域划分为哪几种?作用域能够被访问的区域是?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
作用域:交量(常量)能够披访问的区域。
1、交量可以在普通代码中定义。
2、变量也可以在函數内部定义。
在PHP中作用城严格来说分为两种:但是PHP内部还定义-些在严格意义之外的一 种,所以总共算三种:。
1、全局交量: 就是用户普通定义的交量(团数外部定义)。
所属全局空间:在PHP中只允许在全局空间使用:理论上函数内部不可方法。
脚本周期:直到脚本运行结束(最后一行代码执行完)。
2、局部交量: 就是在还数内部定义的变量。
所属当前经数空间:在PHP中只允许在当前劲数自己内部使用。
函数周期:函数执行结束(函数是在栈区中开辟独立内存空间运行)。
3、超全局交量:系统定义的变量(预定义变量: s. SERVER、s. POST等)。
所属超全局空间:没有访问限制(函数内外都可以访问)。
具体我们以代码为例:
在PHP中作用域,默认的代码空间是全局空间,我们用global定义全局变量,我们所定义的变量会被系统纳入到超全局变量中,局部变量,是在函数内部定义,首先也是定义function函数,(所有的形参都可以理解成局部变量),紧接着输出inner,其次,我们访问全局变量;
<?php //PHP中作用域 //默认的代码空间:全局空间 $global = 'global area' ; //局部变量(函数内部定义)=global area; function display(){ //所有的形参都可以理解为局部变量 $inner = __FUNCTION__ ; //访问全局变量 echo $global ; } //调用函数 display();
代码结果如下:
我们看到结果显示没有global这个变量也就是说我们在调用function时访问global系统报错,但实际上我们已经定义了,说明了全局变量是不能在局部空间使用的。
推荐学习:php视频教程