<code class="php"><?php function test() { static $count = 0; echo $count++; if ($count < 10) { test(); } echo $count--; } ?></code>
結果:012345678910987654321
前上半的echo $cont++,我能理解,為什麼echo $count--他是從10開始的。按從上到下,++ --不抵消了嗎
<code class="php"><?php function test() { static $count = 0; echo $count++; if ($count < 10) { test(); } echo $count--; } ?></code>
結果:012345678910987654321
前上半的echo $cont++,我能理解,為什麼echo $count--他是從10開始的。按從上到下,++ --不抵消了嗎
這是堆疊的入出順序
if 裡面呼叫了函數, 下面的是執行不了的,直到count>10 函數呼叫結束,後面才能執行。
前10次遞歸是沒有執行echo $count--;
的, 因為遞歸調用還沒有結束. 直到$count == 10
的時候, 就不再進行遞歸了, 於是一層一層地完成遞歸操作