静态变量 static $var
变量范围在函数内作用,离开函数后就会丢失:
<?php
function Test()
{
$a = 0;
echo $a;
$a++;
}
?>
这个函数无论调用多少次都只会输出 0,$a的值永远不会增加,因为一旦退出函数,$a就不存在了。这时静态变量的作用就体现出来了。
<?php
function Test()
{
static $a = 0;
echo $a;
$a++;
}
?>
这个时候每调用一次Test()方法,$a就会增加1。
静态变量主要用于递归函数的处理,但是要注意递归函数的终止条件,否则无穷递归下去会因耗尽内存而崩溃。