verschachtelte funktionen in php lösen eine ausnahme aus, wenn das äußere mehr als einmal aufgerufen wird

Ich gehe davon aus, dass ich Folgendes habe

function a(){
  function b(){}
}
a(); //pass
a(); //error

warum beim zweiten aufruf eine ausnahme geworfen wird und es heißt

cannot re-declare  function b()

Ich dachte, dass jeder Funktionsaufruf einen neuen aktiven Datensatz erstellt, der seinen eigenen Gültigkeitsbereich enthält. Wie in anderen Sprachen, außer PHP, wenn wir eine Variable in einer Funktion deklarieren und diese Funktion aufrufen, sind alle Variablen für ihren Gültigkeitsbereich lebendig. Warum ist die innere Funktion nicht dieselbe?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage