如果我运行下面的PHP代码,我得到123.我不明白它背后的逻辑。我认为,当我每一次它想输出1.调用函数所以输出应该像111PHP中的静态变量
function keep_track() {
STATIC $count = 0;
$count++;
print $count;
}
keep_track();
keep_track();
keep_track();
// output 123
我知道,一个静态变量,甚至在函数退出后,但在上面存放值函数我在第一行中分配一个值,但它仍然将+1加上前一个值$count
。
你能解释一下吗? (我很抱歉,如果我听起来像一个愚蠢的..但我试图找出如何确切发生这种情况)
您只分配**初始**值。 – 2013-05-13 20:11:52
[PHP静态变量手册](http://www.php.net/manual/en/language.variables.scope.php#language.variables.scope.static)解释了这个问题 – 2013-05-13 20:12:24
因为'$ count'函数内部递增 – samayo 2013-05-13 20:12:26