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

 

posted on 2014-12-24 10:00  walter371  阅读(465)  评论(0编辑  收藏  举报

导航