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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。