Ändern Sie eine global gültige Variable innerhalb einer anonymen Funktion

Lesezeit: 1 Minute

Benutzeravatar von einord
einord

Ich habe mit anonymen Funktionen in PHP herumgespielt und festgestellt, dass sie anscheinend keine Variablen außerhalb von ihnen erreichen. Gibt es eine Möglichkeit, dieses Problem zu umgehen?

Beispiel:

$variable = "nothing";

functionName($someArgument, function() {
  $variable = "something";
});

echo $variable;  //output: "nothing"

Dadurch wird “nichts” ausgegeben. Gibt es eine Möglichkeit, dass die anonyme Funktion auf die zugreifen kann $variable?

Benutzeravatar von nickb
nickb

Ja, Verschluss verwenden:

functionName($someArgument, function() use(&$variable) {
  $variable = "something";
});

Beachten Sie dies, damit Sie Änderungen vornehmen können $variable und den geänderten Wert außerhalb des Geltungsbereichs der anonymen Funktion abrufen, muss in der Closure using darauf verwiesen werden &.

1449450cookie-checkÄndern Sie eine global gültige Variable innerhalb einer anonymen Funktion

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy