在这个函数中使用静态$ 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
}
你会怎么做?
答案 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使用,但特别是在这种情况下。我会用一堂课。