
首先理解静态变量的区别,声明一个函数test()
function num(){
$a = 0;
echo $a;
$a++;
}
num();num();num();
//输出000
function num(){
static $a = 0;
echo $a;
$a++;
}
num();num();num();
//输出012
从上面可以看到使用static的区别,static可以在函数被重复调用的时候,static变量保留上次执行函数后的结果。
可以利用此类特性做隔行变色等
function getcolor() {
static $colorvalue;
if($colorvalue == '#FFF')
$colorvalue = '#000';
else
$colorvalue = '#FFF';
return $colorvalue;
}
echo "<table border=1>";
for ($i=0;$i<10;$i++) {
$bgcolor = getcolor();
echo "<tr bgcolor=$bgcolor>";
echo "<td>$i</td>";
echo "</tr>";
}
http://www.crackedzone.com/php-static-variable-summary.html