【发布时间】:2013-07-05 02:38:48
【问题描述】:
function track_times() {
static $i = 0;
$i++;
static $i = 5;
return $i;
}
echo track_times() . "\n";
echo track_times() . "\n";
结果是:
6
7
我知道人们不会以这种方式使用static 变量,只是无法解释结果。结果暗示第二次赋值生效,但$i在赋值前自增,为什么第一次调用函数返回6?
【问题讨论】:
-
但是为什么要写这个模式呢?听起来不合逻辑。
标签: php static static-variables