Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich auf Variablen zugreifen, die außerhalb von Callback-Funktionen in PHP definiert sind?

Wie kann ich auf Variablen zugreifen, die außerhalb von Callback-Funktionen in PHP definiert sind?

Susan Sarandon
Susan SarandonOriginal
2024-12-13 08:12:11845Durchsuche

How Can I Access Variables Defined Outside Callback Functions in PHP?

Zugriff auf außerhalb von Callback-Funktionen berechnete Variablen

Bei der Arbeit mit Callback-Funktionen kann es erforderlich sein, außerhalb des Funktionsumfangs berechnete Variablen zu verwenden . Das Schlüsselwort „use“ bietet eine Lösung für diese Herausforderung.

Verwendung des Schlüsselworts „use“

Um auf externe Variablen innerhalb einer Callback-Funktion zuzugreifen, kann das Schlüsselwort „use“ verwendet werden. Mit diesem Schlüsselwort können Sie die Variablen deklarieren, die Sie vom übergeordneten Bereich erben möchten. Wenn Sie beispielsweise eine Durchschnittsvariable ($avg) außerhalb des Callbacks berechnet haben, können Sie diese innerhalb der Funktion verwenden, indem Sie Folgendes einschließen:

$callback = function($val) use ($avg) { return $val < $avg; };

Alternative: Pfeilfunktionen (PHP 7.4)

Pfeilfunktionen bieten einen alternativen Ansatz zur Definition anonymer Funktionen. Sie erfassen automatisch Variablen aus dem umgebenden Bereich, sodass das Schlüsselwort use nicht erforderlich ist. So können Sie anhand unseres vorherigen Beispiels schreiben:

$callback = fn($val) => $val < $avg;

Rückruffunktionen in Array-Manipulation integrieren

Um die Callback-Funktion in einen Array-Manipulationsvorgang zu integrieren, z Als array_filter können Sie Folgendes tun:

$filtered_array = array_filter($arr, fn($val) => $val < $avg);

Mit diesem Ansatz können Sie Elemente basierend auf einer außerhalb des Rückrufs berechneten Variablen effektiv filtern Funktion, die mehr Flexibilität in Ihrer PHP-Entwicklung bietet.

Das obige ist der detaillierte Inhalt vonWie kann ich auf Variablen zugreifen, die außerhalb von Callback-Funktionen in PHP definiert sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn