函数内部的php静态变量

函数内部的php静态变量,php,Php,菲律宾政府声明如下: 变量作用域的另一个重要特征是静态变量。 静态变量只存在于局部函数作用域中,但它确实存在 当程序执行离开此范围时,不会失去其价值 我的代码: function keeptrack() { static $count = 0; $count += $count + 1; echo $count; } keeptrack(); keeptrack(); keeptrack(); 输出:137 为什么它不输出123您不是将1添加到$count中,而是添

菲律宾政府声明如下:

变量作用域的另一个重要特征是静态变量。 静态变量只存在于局部函数作用域中,但它确实存在 当程序执行离开此范围时,不会失去其价值

我的代码:

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

}

keeptrack();
keeptrack();
keeptrack();
输出:
137


为什么它不输出
123

您不是将
1
添加到
$count
中,而是添加当前值
$count
加上
1

$count += $count + 1;
你可能想要的是:

$count = $count + 1;

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

对不起,时间有点晚了,我很累。你的逻辑是正确的。我真正的意思是
$count+=1
lol
static$count=0;echo++$count就足够了。