在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP/ php遞歸輸出問題。

php遞歸輸出問題。

function test()
{

static $count = 0;

$count++;
echo $count;
if ($count < 10) {
    test();
}
$count--;
echo $count;

}
test();
這段代碼的輸出為123456789109876543210,前面輸出1-109我可以想得通,但是后面輸出的8-0是怎么輸出的,按照我的想法,應該是輸出123456789109就結束了,并沒有循環(huán)來執(zhí)行$count--;echo $count;的動作啊?請問我哪里錯了,謝謝,我新手,大佬莫怪

回答
編輯回答
忘了我

直接跟著代碼的思路邏輯一遍遍在腦海想想就知道答案的了。當你小于 10 的時候都遞歸運行代碼,每次運行都會自增后輸出,直到 $count < 10 不能滿足,并執(zhí)行自減輸出。這會也即 9 進入 test() 自增為 10 ,然后自減。但是你別往了,因為你的代碼是遞歸進來的,它還要一層層地出去,你進來多少層就出去多少層,因為你上面自增是一次,下面自減也是一次,所以,最終結果會和開始一樣的。

2017年8月27日 06:57
編輯回答
有點壞

調(diào)用另一個函數(shù)時,當前函數(shù)暫停并處于未完成狀態(tài)。該函數(shù)的所有變量的值都還在內(nèi)存中。執(zhí)行完調(diào)用函數(shù)后,回到當前函數(shù),并從離開的地方開始接著往下執(zhí)行。

摘自:https://hellowac.github.io/pr...

2018年3月20日 17:05