如果我运行以下 PHP 代码,我得到 123。我不明白它背后的逻辑。我的想法是,当我每次调用该函数时,它应该输出 1。所以输出应该像 111。
function keep_track() {
STATIC $count = 0;
$count++;
print $count;
}
keep_track();
keep_track();
keep_track();
// output 123
我知道即使在函数退出后静态变量也会保存该值,但在上述函数中,我在第一行分配了一个值,但它仍将 +1 与前一个值相加$count
。
你能解释一下吗?(如果我听起来像个愚蠢的人,我很抱歉……但我想知道这到底是怎么发生的)