php静态变量里面的函数

时间:2015-02-01 05:20:02

标签: php

PHP Manual声明如下:

  

变量范围的另一个重要特征是静态变量。   静态变量仅存在于本地函数范围内,但确实存在   当程序执行离开这个范围时,它不会失去它的价值。

我的代码:

function keeptrack() {
    static $count = 0;
    $count += $count + 1;
    echo $count;

}

keeptrack();
keeptrack();
keeptrack();

输出:137

为什么不输出123

2 个答案:

答案 0 :(得分:3)

您未将1添加到$count,而是添加$count加上1的当前值。

$count += $count + 1;

你可能打算做什么:

$count = $count + 1;

答案 1 :(得分:1)

原因是因为+ =正在发生的事情是$count = $count + $count + 1