首页 > 代码库 > php中函数内使用static修饰变量

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

 

php中函数内使用static修饰变量