码迷,mamicode.com
首页 > Web开发 > 详细

May 18:PHP 中局部变量和全局变量

时间:2018-05-11 23:29:10      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:调用   覆盖   bsp   外部   als   set   范围   输出   echo   

                           

 局部变量:在函数内部中定义的变量,它的作用域为函数定义范围内。
 全局变量:在函数外部定义的变量,它的作用域从定义处一直到文件结尾。


在php中函数被视为单独的程序片,所以局部变量会覆盖全局变量,即使局部变量中并定义没有全局变量相同的变量,也会被覆盖。
如下:
$a=5;
$b=3;
function t()
{
 echo $a-$b;//输出0
}
要想在函数中直接使用全局变量可以通过 global关键字声明 或者通过php中自定义的$GLOBALS数组获取
function t()
{  
 global $a,$b;
 echo $a-$b;
}

function t()
{
 echo $GLOBALS[‘a‘]-$GLOBALS[‘b‘];
}


静态变量:通过static 定义一个静态变量, 如: 
function test()
{
 static $t;
$t++;
return $t;
}
for($i=0;$i<6;$i++)
{
echo test()."<br />";
}
输出 1 2 3 4 5 
即静态变量在第一次初始化后,该变量的值就一直存在内存中,不会随着函数而被注销。

注意:如果在函数中 unset() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。

May 18:PHP 中局部变量和全局变量

标签:调用   覆盖   bsp   外部   als   set   范围   输出   echo   

原文地址:https://www.cnblogs.com/willian911/p/php_variable.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!