php静态变量问题

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



posted @ 2017-03-19 22:14  绿尘枫  阅读(287)  评论(0编辑  收藏  举报