php中函数内使用static修饰变量
首先理解静态变量的区别,声明一个函数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