PHP Manual声明如下:
变量范围的另一个重要特征是静态变量。 静态变量仅存在于本地函数范围内,但确实存在 当程序执行离开这个范围时,它不会失去它的价值。
我的代码:
function keeptrack() {
static $count = 0;
$count += $count + 1;
echo $count;
}
keeptrack();
keeptrack();
keeptrack();
输出:137
为什么不输出123
答案 0 :(得分:3)
您未将1
添加到$count
,而是添加$count
加上1
的当前值。
$count += $count + 1;
你可能打算做什么:
$count = $count + 1;
答案 1 :(得分:1)
原因是因为+ =正在发生的事情是$count = $count + $count + 1