zagnieżdżone funkcje w php zgłaszają wyjątek, gdy zewnętrzny jest wywoływany więcej niż raz

aby założyć, że mam następujące

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

dlaczego w drugim wywołaniu wyjątek jest rzucany i mówi

cannot re-declare  function b()

myślałem, że każde wywołanie funkcji tworzy nowy aktywny rekord, który zawiera własny zakres; podobnie jak w innych językach innych niż PHP, gdy deklarujemy zmienną w funkcji i nazywamy tę funkcję, wszystkie zmienne są żywe dla ich zakresu, dlaczego funkcja wewnętrzna nie jest taka sama?

questionAnswers(5)

yourAnswerToTheQuestion