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