网站开发技术

记点笔记、 学点技术 欢迎交流建站技术。本站关注lamp技术

您尚未登录。

#1 2015-03-10 11:47:54

admin
管理员

php 静态变量 static

静态变量的作用域比较特殊, 如果在函数内定义的变量。

随着函数的结果, 普通的内部变量也就消失了。 静态变量不同。

首先看一个示例

function f() {
    static $x = 0;

    if(isset($x)) {
        echo "yes";
    } else {
        echo "no";
    }
}


f();

执行的结果是  yes

如果是 

function f() {
    static $x;

    if(isset($x)) {
        echo "yes";
    } else {
        echo "no";
    }
}


f();

执行的结果就是 no. 说明函数中没有 $x.

这就是静态变量和一般变量的区别。

静态变量离开函数的时候可以保存值。

function f() {
    static $x;

    echo ++$x;
}

for($i = 0; $i < 3; $i++) {
    f();
}

这个结果输出的是 123 说明两点

第一: 静态变量没有赋值的时候 ,是0。 其实这种说法不准确,如果是字符串就不一定。  

第二: 静态变量的作用域不仅仅在函数内。


ipbbs.net

离线

页脚

Powered by FluxBB