函数之外声明的变量拥有global作用域,只能在函数以外进行访问。
函数内部声明的变量拥有LOCAL作用域,只能 在函数内部进行访问。
eg: 1,
$x = 5;
$y = 10;
function myTest(){
global $x,$y;
$y = $x+$y;
}
myTest();
echo $y;//输出15
global 就我理解类似于引入变量的作用,上面的代码也可以写成这样:
$x = 5;
$y= 10;
function myTest(){
$GLOBALS['y'] = $GLOBALS['X'] + $GLOBALS['y'];
}
mytest();
echo $y;//结果也是15
有时候不需要删除某个局部变量的值,这就需要在第一次声明变量的时候使用static关键字:
eg: 2 ,
function mytest(){
static $x = 0;
echo $x;
$x++;
unset($x);
}
mytest().'<br/>';
mytest().'<br/>';
mytest();
//执行3次,依次返回0,1,2,unset释放不掉定义的static变量和global变量。