php静态变量问题

<?php
$a=0;
function test(){
static $a=0;
$a+=1;
echo $a;
}
test();
test();
?>
1.static是与销毁时间有关,与作用域无关,它还是个局部变量
2. static $a=0;这句只运行一次
3.static $a在所有程序运行完后销毁
区别就是静态变量只有第一次运行函数的时候被创建,并且在函数结束的时候不会消亡;而普通的成员在函数结束的时候就会在内存中退栈消亡。



原文地址:https://www.cnblogs.com/lvchenfeng/p/6582651.html