Vorteile sind die Einsparung beim Tippen, der sprechendere Name und ganz geringfügig Performance, weil weniger [$i] aufgelöst werden muss.
Dem gegenüber stelle ich aber Eindeutigkeit (siehe $name = $_POST['name']). Ich bin mir nicht sicher ob die geringe Performance-Verbesserung (sollte es eine geben, immerhin muss $i sowieso schon vorher aufgelöst werden) das aufwiegt. Ich versuche das aber mal zukünftig zu berücksichtigen wenn es um mehr als nur ein $i geht. Danke für den Hinweis!
Ja, und da reicht es, wenn du eine Kopie nimmst und nicht ständig das Array bearbeitest.
Die Kopie erreiche ich aber nunmal am einfachsten durch das pop oder nicht?
In der while-Schleife brauche ich das pop ja nur um den Stapel abzubauen. Ein unset täte es natürlich auch.
Wie gesagt, die Level-Nummer brauchst du nicht, um die ul/li-Struktur aufzubauen. Die dient dir jetzt nur, um das richtige Entlanghangeln durch das Array zu prüfen. Du kannst ja jetzt schon mithilfe des Stacks ab- und aufsteigen, was übersetzt in das eigentliche Ziel heißt: ein neues ul erzeugen und es am Ende ordentlich schließen. Und um zum Schluss alle geschlossen zu haben, musst du den Stack abgebaut haben.
Ah ok, z.B. wenn das letzte Element im Array ein Ur-Ur-Enkel ist? Ja, das leuchtet ein.