静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。看看下面的例子:
test();//2
像上面的赋值方式会报错,不信你试试
function test(){
static $a=0;
$a++;
echo $a;
}
test();//1
test();//2
test();//3
static $a=0+1;
static $a=sqrt(121);
像上面的赋值方式会报错,不信你试试