Erweitern des Variablenbereichs in anonymen Funktionen mit Abschlüssen
In PHP arbeiten anonyme Funktionen normalerweise innerhalb ihres eigenen Bereichs und können nicht direkt auf außerhalb deklarierte Variablen zugreifen von ihnen. Dies kann beim Versuch, globale Variablen zu ändern, zu Herausforderungen führen.
Betrachten wir ein Beispiel:
$variable = "nothing"; functionName($someArgument, function() { $variable = "something"; }); echo $variable; //output: "nothing"
In diesem Skript kann die anonyme Funktion die $-Variable nicht ändern, da sie sich in einer anderen befindet Umfang. Um diese Einschränkung zu überwinden, können Sie Abschlüsse verwenden.
Abschlüsse zum Referenzieren globaler Variablen verwenden
Abschlüsse, gekennzeichnet durch use(), ermöglichen anonymen Funktionen den Zugriff auf Variablen aus dem umschließenden Umfang. Um eine globale Variable innerhalb einer anonymen Funktion zu ändern, fügen Sie einfach den &-Operator in den Abschluss ein:
functionName($someArgument, function() use(&$variable) { $variable = "something"; });
In diesem modifizierten Beispiel verwendet die anonyme Funktion den &-Operator, um auf die Variable $variable im globalen Bereich zu verweisen . Dadurch kann die Funktion den Wert von $variable ändern, der dann außerhalb seines Gültigkeitsbereichs abgerufen und gedruckt werden kann.
Durch die Verwendung von Abschlüssen können Sie den Gültigkeitsbereich von Variablen innerhalb anonymer Funktionen effektiv erweitern und so eine größere Flexibilität bieten Arbeiten mit globalen Daten.
Das obige ist der detaillierte Inhalt vonWie kann ich globale Variablen innerhalb anonymer Funktionen in PHP ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!