作用域:变量能被访问到的区域 。php中的作用域与js中有所不同
js中函数内可以直接访问到全局变量,而在php中则无法直接访问
php变量的作用域可以分为三种
一、全局变量;
简单理解,就是函数外部定义的变量,只能在函数外部进行访问
二、局部变量;
其实就是函数内部定义的变量,只能在函数内部使用
三、超全局变量;
系统定义的变量,包括的全部变量,任何地方都能访问
如何实现函数内部与函数外部的互相访问?
首先看一段代码,这样是无法运行的
$a="123"; function fun(){ echo $a; } fun();
解决办法有三种:
1、在函数中传入参数$a
$a="123"; function fun($a){ echo $a; } fun($a);
2、使用超全局变量$GLOBALS在函数内部进行访问
$a="123"; function fun(){ echo $GLOBALS['a']; } fun();
3、实现全局和局部的互相访问。使用Global关键字
全局空间已存在变量,局部访问全局 $a="123"; function fun(){ global $a; echo $a; } fun(); 全局空间不存在这个变量,全部访问局部 function fun(){ global $a; $a="123"; } fun(); echo $a;