Kurzschluss, auch Pfeilfunktion genannt, ist eine in PHP geschriebene Kurzfunktion. Diese Funktion ist nützlich, wenn Abschlüsse an Funktionen übergeben werden, z. B. bei der Verwendung von array_map
- oder array_filter
-Funktionen.
So sehen sie aus:
// Post 对象的集合 $posts = [/* … */]; $ids = array_map(fn($post) => $post->id, $posts); 而以前,你必须这样写: $ids = array_map(function ($post) { return $post->id; }, $posts);
Fassen wir zusammen, wie kurze Abschlussfunktionen verwendet werden .
Verfügbar in PHP 7.4
Beginnen Sie mit dem Schlüsselwort fn
kann nur eines enthalten Ausdruck, das heißt, der Rückgabeausdruck
Rückgabeschlüsselwort kann ignoriert werden
Parameter und Rückgabetyphinweise können für jeden Typ
$ids = array_map(fn(Post $post): int => $post->id, $posts);Es gibt zwei Punkte, die erwähnt werden müssen:
- ermöglicht auch die Verwendung des Spread-Operators
- ermöglicht Referenzen, und beide Parameter können als Rückgabewerte verwendet werden
fn&($x) => $xKurz gesagt, kurze Verschlüsse funktionieren genauso wie gewöhnliche Verschlüsse, außer dass nur ein Ausdruck zulässig ist.
Einzeilige Zeile
Sie sollten es richtig verstehen: Ein kurzer Abschluss kann nur einen Ausdruck haben. Dies bedeutet, dass im Verschlusskörper keine Mehrfachleitungen vorhanden sein können. Der Grund ist folgender: Der Zweck von Kurzschließungen besteht darin, Redundanz zu reduzieren. Natürlich ist auf jeden Fall kürzer als fn
. RFC-Erfinder Nikita Popov glaubt jedoch, dass die Verwendung von Abschlüssen noch weniger Vorteile bringt, wenn Sie mit Funktionen arbeiten, die mehrzeilige Ausdrücke sind. function
und function
) vorhanden sind oder nicht. return
Der Wert des äußeren Bereichs
Ein weiteres bemerkenswertes Merkmal von kurzen Schließungen und gewöhnlichen Schließungen ist, dass kurze Schließungen auf die Außenseite zugreifen können, ohne die Schlüsselwort-Bereichsdaten zu verwenden.$modifier = 5; array_map(fn($x) => $x * $modifier, $numbers);Es ist zu beachten, dass Variablen im äußeren Bereich nicht geändert werden können. Weil es eher eine Wertübergabe als eine Referenzübergabe ist. Das bedeutet, dass Sie die Variable
innerhalb des kurzen Abschlusses ändern können, dies jedoch keine Auswirkungen auf die Variable $modifier
im äußeren Bereich hat. $modifier
, das genau wie bei einem normalen Verschluss funktioniert: $this
array_map(fn($x) => $x * $this->modifier, $numbers);
Entwicklungsaussichten
Die bereits erwähnten Mehrlinienschließungen sind noch eine Entwicklungsmöglichkeit in der Zukunft. Eine andere Idee, die mir in den Sinn kommt, ist, die Verwendung von kurzen Abschlüssen in Klassen zu ermöglichen, wie z. B. und getters
Funktionen setters
class Post { private $title; fn getTitle() => $this->title; }Alles in allem sind kurze Abschlüsse eine sehr willkommene Funktion, obwohl es sie gibt viele Bereiche mit Verbesserungsbedarf. Am wahrscheinlichsten ist die mehrzeilige Schließung.
Das obige ist der detaillierte Inhalt vonVerwendung der Pfeilfunktion von PHP 7.4. 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

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Dreamweaver CS6
Visuelle Webentwicklungstools

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.