function test()
{
static $count = 0;
$count++;
echo $count;
if ($count < 10) {
test();
}
$count--;
}
究竟是如何做到這一點遞歸內$count--
工作?
當計數終於達到10時,緊接着的$count--
被執行。但是從那裏會發生什麼?
function test()
{
static $count = 0;
$count++;
echo $count;
if ($count < 10) {
test();
}
$count--;
}
究竟是如何做到這一點遞歸內$count--
工作?
當計數終於達到10時,緊接着的$count--
被執行。但是從那裏會發生什麼?
,則增加1數到10,如果你呼應的最後一行$count--;
它將從10遞減到1,如: 12345678910
和$ count--將使10987654321
我的意思是這樣的:
function test()
{
static $count = 0;
$count++;
echo $count;
if ($count < 10) {
test();
}
echo $count--;
}
test();
會產生1234567891010987654321
@JohnBallinger看到我的補充,在線php編輯器登記 –
是的,我沒有讀到正確的問題。你贏了:)我注意到增量和減量現在有點奇怪。但我可以看到這個堆棧如何工作。 –
所以當遞歸函數在滿足條件後在棧中回溯時,它只是跳轉到$ count--?從進入遞歸的地方回溯9次,從而減少了9次? –
我想這將完成的任何活動遞歸執行(例如,如果你已經結束了10級深,你會得到$計數正在減少,回到一) - 演示(自己這樣做可能會告訴你:https://eval.in/92574 –