Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich außerhalb von Callback-Funktionen berechnete Variablen in PHP verwenden?
Variablen verwenden, die außerhalb von Callback-Funktionen berechnet werden
In PHP ist es möglich, Variablen außerhalb von Callback-Funktionen zu berechnen und sie innerhalb dieser Funktionen zu verwenden. Betrachten wir das folgende Szenario:
Sie haben ein Array $arr und möchten array_filter verwenden, um ein neues Array zu erstellen, das nur Werte enthält, die kleiner als der Durchschnitt der Elemente in $arr sind.
Um dies zu erreichen Wenn Sie beispielsweise eine Callback-Funktion verwenden, stehen Sie möglicherweise vor der Herausforderung, den Durchschnitt außerhalb der Funktion zu berechnen und ihn innerhalb der Funktion zu verwenden. Das Schlüsselwort „use“ bietet jedoch eine Lösung.
Verwendung des Schlüsselworts „use“
Das Schlüsselwort „use“ ermöglicht es anonymen Funktionen, Variablen vom übergeordneten Bereich zu erben. In diesem Fall können Sie die Rückruffunktion wie folgt definieren:
$avg = array_sum($arr) / count($arr); $callback = function($val) use ($avg) { return $val < $avg; };
Hier wird $avg mithilfe des Schlüsselworts use vom übergeordneten Bereich geerbt. Die Callback-Funktion kann jetzt $avg verwenden, um Elemente zu filtern.
return array_filter($arr, $callback);
Pfeilfunktionen verwenden (PHP 7.4 oder höher)
PHP 7.4 führt Pfeilfunktionen ein, die sind prägnantere Alternativen zu anonymen Funktionen. Pfeilfunktionen erfassen automatisch externe Variablen, sodass keine Verwendung erforderlich ist.
Sie können die Rückruffunktion wie folgt definieren:
$callback = fn($val) => $val < $avg;
Vereinfachte Array-Filterung mit Pfeilfunktionen
Da Pfeilfunktionen sehr prägnant sind, können Sie sie direkt in den array_filter einbetten Aufruf:
return array_filter($arr, fn($val) => $val < $avg);
Zusammenfassend lässt sich sagen, dass Sie mithilfe der Schlüsselwort- oder Pfeilfunktionen Variablen außerhalb von Rückruffunktionen berechnen und innerhalb von Callback-Funktionen verwenden können, was flexiblere und bequemere Filtervorgänge ermöglicht.
Das obige ist der detaillierte Inhalt vonWie kann ich außerhalb von Callback-Funktionen berechnete Variablen in PHP verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!