<code class="php"><?php function test() { static $count = 0; echo $count++; if ($count < 10) { test(); } echo $count--; } ?></code>
Ergebnis: 012345678910987654321
Das echo $cont in der ersten Hälfte, ich kann verstehen, warum echo $count – es beginnt bei 10. Von oben nach unten drücken, --versetzt es sich nicht?
<code class="php"><?php function test() { static $count = 0; echo $count++; if ($count < 10) { test(); } echo $count--; } ?></code>
Ergebnis: 012345678910987654321
Das echo $cont in der ersten Hälfte, ich kann verstehen, warum echo $count – es beginnt bei 10. Von oben nach unten drücken, ist das kein Ausgleich?
Dies ist die Ein- und Ausstiegssequenz des Stapels
Wenn eine Funktion innerhalb aufgerufen wird, kann Folgendes nicht ausgeführt werden, bis der Funktionsaufruf count>10 abgeschlossen ist.
Die ersten 10 Rekursionen werden nicht ausgeführt
, da der rekursive Aufruf noch nicht beendet ist. Bis echo $count--;
wird die Rekursion nicht mehr durchgeführt, sodass die rekursiven Operationen Schicht für Schicht abgeschlossen werden$count == 10