Was ist eine anonyme Funktion?
Anonyme Funktionen
Anonyme Funktionen, auch Abschlüsse genannt, ermöglichen es Ihnen, vorübergehend eine Funktion ohne angegebenen Namen zu erstellen. Der am häufigsten als Callback-Funktionsargument verwendete Wert. Natürlich gibt es auch andere Anwendungen.
Anonyme Funktionen werden derzeit über die Closure-Klasse implementiert.
Anonymes Funktionsbeispiel
<?php echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]); }, 'hello-world'); // 输出 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. Am Ende muss ein Semikolon hinzugefügt werden:
Beispiel für die Zuweisung anonymer Funktionsvariablen
<?php $greet = function($name) { printf("Hello %s\r\n", $name); }; $greet('World'); $greet('PHP'); ?>
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.
Variablen vom übergeordneten Bereich erben
<?php $message = 'hello'; // 没有 "use" $example = function () { var_dump($message); }; echo $example(); // 继承 $message $example = function () use ($message) { var_dump($message); }; echo $example(); // Inherited variable's value is from when the function // is defined, not when called $message = 'world'; echo $example(); // Reset message $message = 'hello'; // Inherit by-reference $example = function () use (&$message) { var_dump($message); }; echo $example(); // The changed value in the parent scope // is reflected inside the function call $message = 'world'; echo $example(); // Closures can also accept regular arguments $example = function ($arg) use ($message) { var_dump($arg . ' ' . $message); }; $example("hello"); ?>
Die Ausgabe der obigen Routine ähnelt der:
Notice: Undefined variable: message in /example.php on line 6 NULL string(5) "hello" string(5) "hello" string(5) "hello" string(5) "world" string(11) "hello world"
Diese Variablen müssen an der Spitze stehen Funktion oder Klasse Erklärung des Ministeriums. Das Erben von Variablen aus dem übergeordneten Bereich unterscheidet sich von der Verwendung globaler Variablen. Globale Variablen existieren in einem globalen Bereich, unabhängig davon, welche Funktion gerade ausgeführt wird. Der übergeordnete Bereich eines Abschlusses ist die Funktion, die den Abschluss definiert (nicht unbedingt die Funktion, die ihn aufruft).
Abschlüsse und Umfangsbeispiele:
<?php // 一个基本的购物车,包括一些已经添加的商品和每种商品的数量。 // 其中有一个方法用来计算购物车中所有商品的总价格,该方法使 // 用了一个 closure 作为回调函数。 class Cart { const PRICE_BUTTER = 1.00; const PRICE_MILK = 3.00; const PRICE_EGGS = 6.95; protected $products = array(); public function add($product, $quantity) { $this->products[$product] = $quantity; } public function getQuantity($product) { return isset($this->products[$product]) ? $this->products[$product] : FALSE; } public function getTotal($tax) { $total = 0.00; $callback = function ($quantity, $product) use ($tax, &$total) { $pricePerItem = constant(__CLASS__ . "::PRICE_" . strtoupper($product)); $total += ($pricePerItem * $quantity) * ($tax + 1.0); }; array_walk($this->products, $callback); return round($total, 2);; } } $my_cart = new Cart; // 往购物车里添加条目 $my_cart->add('butter', 1); $my_cart->add('milk', 3); $my_cart->add('eggs', 6); // 打出出总价格,其中有 5% 的销售税. print $my_cart->getTotal(0.05) . "\n"; // 最后结果是 54.29 ?>
Dieser Artikel ist eine Einführung in anonyme Funktionen. Ich hoffe, er wird Freunden in Not hilfreich sein!
Das obige ist der detaillierte Inhalt vonWas ist eine anonyme Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Eine anonyme Funktion, auch Lambda-Ausdruck genannt, ist eine Funktion, die keinen Namen angibt und zur einmaligen Verwendung oder zur Übergabe eines Funktionszeigers verwendet wird. Zu den Funktionen gehören: Anonymität, einmalige Verwendung, Schließungen, Rückschluss auf den Rückgabetyp. In der Praxis wird es häufig zum Sortieren oder für andere einmalige Funktionsaufrufe verwendet.

Als moderne Programmiersprache verfügt Golang (auch bekannt als Go-Sprache) über viele leistungsstarke Funktionen. Unter diesen sind anonyme Funktionen ein sehr wichtiges Konzept in Golang und werden in verschiedenen Szenarien häufig verwendet. In diesem Artikel werden wir die Anwendungsszenarien anonymer Funktionen in Golang-Funktionen eingehend analysieren. Event-Handler Im Event-Handler ist die anonyme Funktion ein sehr praktisches und praktisches Werkzeug. Benutzerdefinierte Logik kann über eine anonyme Funktion an den Ereignishandler übergeben werden, z. B.: funcmain(){bt

Wie kann ich die anonymen Funktionen und Abschlüsse von PHP7 nutzen, um eine flexiblere Codelogikverarbeitung zu erreichen? Vor PHP7 verwendeten wir häufig Funktionen, um einen bestimmten Teil der Logik zu kapseln, und riefen diese Funktionen dann im Code auf, um bestimmte Funktionen zu implementieren. Manchmal müssen wir jedoch möglicherweise einige temporäre Logikblöcke im Code definieren. Diese Logikblöcke müssen keine unabhängige Funktion erstellen, und gleichzeitig möchten wir nicht zu viele globale Variablen in den Code einführen. PHP7 führt anonyme Funktionen und Schließungen ein, die dieses Problem sehr gut lösen können. Eine anonyme Funktion ist eine Funktion ohne Namen

Ja, anonyme Funktionen in der Go-Sprache können mehrere Werte zurückgeben. Syntax: func(arg1,arg2,...,argN)(ret1,ret2,...,retM){//Funktionskörper}. Verwendung: Verwenden Sie den Operator :=, um den Rückgabewert zu erhalten; verwenden Sie das Schlüsselwort return, um mehrere Werte zurückzugeben.

PHP8.0 ist die neueste Version der Programmiersprache PHP. Ein wichtiges Update sind Verbesserungen und Erweiterungen anonymer Funktionen. Eine anonyme Funktion (auch Abschluss genannt) ist ein besonderer Funktionstyp, der zur Laufzeit dynamisch erstellt und an andere Funktionen übergeben oder in einer Variablen gespeichert werden kann. In PHP sind anonyme Funktionen für fortgeschrittene Programmierung und Webentwicklung von entscheidender Bedeutung. PHP8.0 bietet einige neue Syntax und Funktionen, die anonyme Funktionen flexibler und benutzerfreundlicher machen. Einige der Aktualisierungen sind wie folgt: Typdeklarationen für Funktionsparameter in PHP8.0,

Ein Python-Lambda-Ausdruck ist eine kleine anonyme Funktion, die einen Ausdruck in einer Variablen speichert und seinen Wert zurückgibt. Lambda-Ausdrücke werden oft verwendet, um einfache Aufgaben auszuführen, die durch das Schreiben einer separaten Funktion erledigt werden können, aber Lambda-Ausdrücke können den Code prägnanter und lesbarer machen. Die Syntax eines Lambda-Ausdrucks lautet wie folgt: lambdaarguments: expressionarguments ist die vom Lambda-Ausdruck empfangene Parameterliste, und expression ist der Hauptteil des Lambda-Ausdrucks, der den Code enthält, der ausgeführt werden muss. Der folgende Lambda-Ausdruck addiert beispielsweise zwei Zahlen und gibt deren Summe zurück: lambdax,

PythonLambda-Ausdrücke sind ein leistungsstarkes und flexibles Tool zum Erstellen prägnanter, lesbarer und benutzerfreundlicher Codes. Sie eignen sich hervorragend zum schnellen Erstellen anonymer Funktionen, die als Argumente an andere Funktionen übergeben oder in Variablen gespeichert werden können. Die grundlegende Syntax eines Lambda-Ausdrucks lautet wie folgt: lambdaarguments:expression Der folgende Lambda-Ausdruck fügt beispielsweise zwei Zahlen hinzu: lambdax,y:x+y Dieser Lambda-Ausdruck kann wie folgt als Argument an eine andere Funktion übergeben werden: defsum( x ,y):returnx+yresult=sum(lambdax,y:x+y,1,2)In diesem Beispiel

Wie kann man die anonymen Funktionen und Abschlüsse von PHP7 nutzen, um eine flexiblere und wiederverwendbarere Codelogik zu erreichen? In der Welt der PHP-Programmierung sind anonyme Funktionen und Abschlüsse sehr wertvolle und leistungsstarke Werkzeuge. PHP7 führt einige neue Sprachfunktionen ein, die die Verwendung anonymer Funktionen und Abschlüsse bequemer und flexibler machen. In diesem Artikel wird erläutert, wie Sie mit den anonymen Funktionen und Abschlüssen von PHP7 eine flexiblere und wiederverwendbarere Codelogik erreichen, und es werden einige spezifische Codebeispiele bereitgestellt. 1. Anonyme Funktion Eine anonyme Funktion ist eine Funktion ohne Namen. In PHP können Sie anonym verwenden
