在PHP函数中使用静态变量

时间:2011-12-27 00:33:18

标签: php

在这个函数中使用静态$ var有效,但我想知道是否有更有效的方法来处理这样的情况。

function static_test() {
    static $var = FALSE;
    if ( ! $var) $var = date('Ymd');
    // do some stuff with $var
}

我想知道是否有可能做更接近这个的事情......或其他声明静态$ var。

function static_test() {
    static $var = date('Ymd');
    // do some stuff with $var
}

你会怎么做?

2 个答案:

答案 0 :(得分:1)

第二种选择几乎没问题。正如您在此处所读:http://www.php.net/manual/en/language.variables.scope.php

  

... [静态变量]仅在第一次调用函数时初始化...

所以不需要这段代码:if ( ! $var) $var = date('Ymd');

但是,你需要一个假人:

$dummy=date('Ymd'); static $var=$dummy;

答案 1 :(得分:0)

第二个例子不是php语法。我根本不喜欢静态var使用,但特别是在这种情况下。我会用一堂课。