webentwicklung-frage-antwort-db.com.de

PHP Variablen in anonymen Funktionen

Ich habe in PHP) mit anonymen Funktionen herumgespielt und festgestellt, dass sie scheinbar 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"

Dies gibt "nichts" aus. Gibt es eine Möglichkeit, dass die anonyme Funktion auf den $variable Zugreifen kann?

101
einord

Ja, verwenden Sie einen Verschluss :

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

Damit Sie $variable Ändern und den geänderten Wert außerhalb des Bereichs der anonymen Funktion abrufen können, muss im Abschluss mit & Darauf verwiesen werden.

236
nickb