如果我运行下面的 PHP 代码,我得到 123。我不明白它背后的逻辑。我的想法是每次调用该函数时它假设输出 1。所以输出应该像 111。
function keep_track() {
STATIC $count = 0;
$count++;
print $count;
}
keep_track();
keep_track();
keep_track();
// output 123
我知道即使在函数退出后,静态变量仍保留该值,但在上面的函数中,我在第一行分配了一个值,但它仍将 +1 与 $count< 的先前值相加
。
你能解释一下吗? (如果我听起来像个傻瓜,我很抱歉......但我正在努力找出这究竟是怎么发生的)
最佳答案
$count
仅在第一次调用函数时初始化,每次调用该方法时,它都会递增 $count
。
在此link ,向下滚动到 Using static variables
以获得更好的理解。
关于php - PHP 中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16530306/