PHP-004-【变量】-局部变量和全局变量 静态变量

学习要点
1.函数中使用全局变量global
2.在函数中使用 global 关键字实现变量访问
global是起传递参数的作用,而并非使变量的作用域为全局

global的正确用法是:"在一个函数中引入外部的一个变量,如果该变量没有通过参数传递进来,那么就通过global引入进来。" 也就是说,当一个函数引用一个外部变量时,可以在函数内通过global来声明该变量,这样该变量就可以在函数中使用了(相当于当作参数传递进来) 

global的作用就相当于传递参数,在函数外部声明的变量,如果在函数内想要使用,就用global来声明该变量,这样就相当于把该变量传递进来了,就可以引用该变量了 

除了通过上述方法外,还可以使用全局数组$GLOBALS来解决问题,在需要用到外部变量的地方,使用$GLOBALS['var']就可以了 

使用 $GLOBALS 实现变量访问 

<?php
//定义三个变量
$num1 = 6;
$num2 = 4;
$num3 = 0;

//在函数中使用 global 关键字实现变量访问
function s1()
{
	//使用 global 声明全局变量
	global $num1,$num2,$num3;
	//使用全局变量进行运算
	$num3=$num1 + $num2;	
	echo $num3;
}
//运行该函数
s1();
echo "<hr>";

//显示变量
echo $num3;//10
echo "<hr>"; //换行

//使用 $GLOBALS 实现变量访问
function s2()
{
	//使用$GLOBALS操作变量
	$GLOBALS['num3'] = $GLOBALS['num1'] + $GLOBALS['num2'];
}
//运行该函数
s2();

//显示变量
echo $num3;//10

?>

学习要点
静态变量 static $vars = 0;

<?php
//使用变量的例子
function vars()
{
    $vars = 0;
    echo $vars."<br>";
    $vars++;
}
echo "第一次运行测试函数<br>";
vars(); //0
echo "第二次运行测试函数<br>";
vars(); //0 

//使用静态变量的例子
function staticvar()
{
    static $vars = 0;
    echo $vars."<br>";
    $vars++;
}

echo "第一次运行静态变量测试函数<br>";
staticvar();//0
echo "第二次运行静态变量测试函数<br>";
staticvar();//1
echo "第三次运行静态变量测试函数<br>";
staticvar();//2

?> 
发布了21 篇原创文章 · 获赞 2 · 访问量 1442

猜你喜欢

转载自blog.csdn.net/yueyekonglong/article/details/103986825