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

                           

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


在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() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。

posted @ 2018-05-11 20:04  你的小伙子  阅读(116)  评论(0)    收藏  举报
编辑推荐:
· 记一次 ADL 导致的 C++ 代码编译错误
· MySQL查询执行顺序:一张图看懂SQL是如何工作的
· 为什么PostgreSQL不自动缓存执行计划?
· 于是转身独立开发者
· C#.Net筑基-泛型T & 协变逆变
阅读排行:
· 精选 10 个 C#/.NET 开发必备开源库!
· Cursor 网页版来了,这下拉屎时也能工作了
· 当我昨天还在为那1000流量欣喜时,今天直接翻10倍
· Deepseek学习笔记
· .NET周刊【6月第4期 2025-06-22】
点击右上角即可分享
微信分享提示