php变量作用域

摘自:https://www.cnblogs.com/dumenglong/p/11183884.html

作用域:变量能被访问到的区域 。php中的作用域与js中有所不同

js中函数内可以直接访问到全局变量,而在php中则无法直接访问

php变量的作用域可以分为三种

一、全局变量;

简单理解,就是函数外部定义的变量,只能在函数外部进行访问

二、局部变量;

其实就是函数内部定义的变量,只能在函数内部使用

三、超全局变量;

系统定义的变量,包括的全部变量,任何地方都能访问

如何实现函数内部与函数外部的互相访问?

首先看一段代码,这样是无法运行的

1 $a="123";
2  
3 function fun(){
4  
5     echo $a;
6      
7 }
8 fun();

解决办法有三种:

1、在函数中传入参数$a

1
2
3
4
5
6
7
8
$a="123";
 
function fun($a){
 
    echo $a;
     
}
fun($a);
2、使用超全局变量$GLOBALS在函数内部进行访问
1
2
3
4
5
6
7
8
$a="123";
 
function fun(){
 
    echo $GLOBALS['a'];
     
}
fun();
3、实现全局和局部的互相访问。使用Global关键字
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
全局空间已存在变量,局部访问全局
$a="123";
 
function fun(){
 
   global $a;
   echo $a;
     
}
fun();
 
全局空间不存在这个变量,全部访问局部
 
function fun(){
 
   global $a;
   $a="123";
}
fun();
echo $a;

  

posted @ 2021-06-15 20:38  html55  阅读(503)  评论(0编辑  收藏  举报