dedlfix: Funktion in Funktion?

Beitrag lesen

Also, ich habe eine Funktionsbibliothek und dort möchte ich auch Funktionen innerhalb von Funktionen verwenden - geht das? Weil das macht bei mir derzeit Probleme. Hier mal ein Beispiel:

Meinst du jetz konkret, dass du
(1) andere Funktionen innerhalb einer Funktion aufrufen willst, oder
(2) dass du sie dort erstellen willst?

1:

function foo() {
  return 42;
}

function bar() {
 echo foo();
}

bar();

2:

function bar() {
  if (!function_exists('foo')) {
    function foo() {
      return 42;
    }
  }
  echo foo();
}

bar();
foo();

foo() ist nicht, wie angenommen werden könnte, nur innerhalb von bar lokal verfügbar. Es kann, nachdem einmal bar() aufgerufen wurde, auch global aufgerufen werden.