如果我運行下面的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