Heim >Backend-Entwicklung >PHP-Problem >Warum benötigt PHP anonyme Funktionen?

Warum benötigt PHP anonyme Funktionen?

(*-*)浩
(*-*)浩Original
2019-09-12 13:31:463167Durchsuche

Anonyme Funktionen, auch Schließungen genannt, ermöglichen die temporäre Erstellung einer Funktion ohne angegebenen Namen. Der Wert, der am häufigsten als Callback-Funktionsargument verwendet wird. Natürlich gibt es auch andere Anwendungen.

Warum benötigt PHP anonyme Funktionen?

Anonyme Funktionen werden derzeit über die Closure-Klasse implementiert.

Anonymes Funktionsbeispiel (Empfohlenes Lernen: PHP-Programmierung vom Einstieg bis zur Kompetenz)

<?php
echo preg_replace_callback(&#39;~-([a-z])~&#39;, function ($match) {
    return strtoupper($match[1]);
}, &#39;hello-world&#39;);
// 输出 helloWorld
?>

Abschlussfunktionen können auch als Wert von Variablen verwendet werden . PHP konvertiert diesen Ausdruck automatisch in eine Objektinstanz der integrierten Klasse Closure. Die Methode zum Zuweisen eines Abschlussobjekts zu einer Variablen ist dieselbe wie die Syntax der gewöhnlichen Variablenzuweisung, und am Ende wird außerdem ein Semikolon hinzugefügt:

Beispiel für die Zuweisung einer anonymen Funktionsvariablen

<?php
$greet = function($name)
{
    printf("Hello %s\r\n", $name);
};

$greet(&#39;World&#39;);
$greet(&#39;PHP&#39;);
?>

Abschlüsse können Variablen vom übergeordneten Bereich erben. Solche Variablen sollten mithilfe des Sprachkonstrukts use übergeben werden. Ab PHP 7.1 können solche Variablen nicht übergeben werden in: superglobals, $this oder haben denselben Namen wie Parameter.

Das obige ist der detaillierte Inhalt vonWarum benötigt PHP anonyme Funktionen?. 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