Ist es möglich, in einer PHP-Unterfunktion auf äußere lokale Variable zuzugreifen?Ist es möglich, in PHP auf die äußere lokale Variable zuzugreifen?
In unteren Code möchte ich auf Variable $l
in inneren Funktionsleiste zugreifen. $l
als global $l
in bar zu deklarieren funktioniert nicht.
function foo()
{
$l = "xyz";
function bar()
{
echo $l;
}
bar();
}
foo();
Warum verwenden Sie überhaupt verschachtelte Funktionen? –
Wer weiß ^^ Das war nicht die Frage ^^ ;; mit PHP 5.3 und anonymen Funktionen kann es für Closures ziemlich nützlich sein ;;; Vor PHP 5.3 ... habe ich noch nie eine verschachtelte Funktion mit PHP <5.3 verwendet. –
@PascalMARTIN Wichtig, geschachtelte Funktionen vor PHP 5.3 _do nicht exists_. Obwohl sie aussehen, als wären sie lokal deklariert, enden sie im globalen Rahmen. Ich denke, das gleiche gilt jetzt, weshalb Sie anonyme Funktionen verwenden müssen, um jede Art von Verschachtelung zu erreichen. – Izkata