刚学php 有点搞不懂global 变量和用$this的区别

比如 和 有什么区别? $a = 1 $a = 1function R(){ function R(){global $a; $this->a = 2}$a = 2}
2025-05-15 19:30:44
推荐回答(3个)
回答1:

例1:
$a=1;
function r(){
global $a;
$a = 2;
}
r();
echo $a; // 输出 2 // $a 是全局变量 函数里外是一个变量

例2;
$a = 1;
function r(){
$a = 2;
$a++;
}
r();
echo $a ; // 输出1 , 两个变量不是一个,一个是里边的 一个是外边的

例3:
class aaa{
var a;
function a(){
$this -> a = 100;
$b = 100;
return $this -> a;
}
function b(){
$this -> a = 200;
$b = 200;
return $this -> a;
}
}
类里边的两个函数的 $this -> a 访问的是一个变量
两个$b 之间没有任何关系

回答2:

global是定义全局变量。 $this是类里访问变量和给变量赋值。

回答3:

global是指全局变量,$this是指当前方法内的变量!