Arrow Functions
Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy — Lektion 3 von 68.
Arrow-Funktionen, die in PHP 7.4 eingeführt wurden, bieten eine prägnantere Möglichkeit, einfache anonyme Funktionen zu schreiben. Sie verwenden das Schlüsselwort fn anstelle der vollständigen function-Syntax, was Ihren Code kürzer und sauberer macht.
So erstellen Sie eine Arrow-Function:
<?php
$greeting = fn($name) => "Hello, " . $name . "!";
echo $greeting("Alice"); // Ausgabe: Hello, Alice!
?>Beachten Sie die wesentlichen Unterschiede: Arrow-Funktionen verwenden fn anstelle von function, haben einen Pfeil =>, der auf den Ausdruck zeigt, und benötigen keine geschweiften Klammern oder eine return-Anweisung für einfache Ausdrücke.
Der größte Vorteil von Arrow-Functions ist, dass sie Variablen aus dem übergeordneten Bereich automatisch erfassen – kein use-Schlüsselwort erforderlich:
<?php
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob"); // Ausgabe: Welcome, Bob!
?>Arrow-Funktionen sind perfekt für kurze, einfache Operationen, bei denen die traditionelle Syntax für anonyme Funktionen zu wortreich erscheint.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Aufgabe
EinfachErstellen Sie eine Arrow-Function, die einen Produktnamen als Parameter entgegennimmt und ein formatiertes Produktlabel zurückgibt. Die Arrow-Function soll einen Kategorienamen aus dem umgebenden Scope erfassen.
Sie erhalten zwei Eingaben: den Kategorienamen und den Produktnamen. Lesen Sie beide Eingaben ein, erstellen Sie eine Arrow-Function, die die Kategorie erfasst und das Produktlabel als "[Category] Product" formatiert, rufen Sie die Arrow-Function mit dem Produktnamen auf und geben Sie das Ergebnis aus.
Eingabeformat: Zwei Zeilen - die erste Zeile enthält den Kategorienamen, die zweite Zeile enthält den Produktnamen
Erwartete Ausgabe: Das formatierte Produktlabel im Format "[Category] Product"
Spickzettel
Arrow-Funktionen verwenden das fn-Schlüsselwort und bieten eine prägnante Syntax für einfache anonyme Funktionen:
$greeting = fn($name) => "Hello, " . $name . "!";Hauptmerkmale:
- Verwenden Sie
fnanstelle vonfunction - Der Pfeil
=>zeigt auf den Ausdruck - Keine geschweiften Klammern oder
return-Anweisungen für einfache Ausdrücke erforderlich - Variablen aus dem übergeordneten Bereich werden automatisch ohne das
use-Schlüsselwort übernommen
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob"); // Ausgabe: Welcome, Bob!Probier es selbst
<?php
// Eingabe lesen
$category = trim(fgets(STDIN));
$product = trim(fgets(STDIN));
// TODO: Schreiben Sie Ihren Code unten
// Erstellen Sie eine Arrow-Function, die die Kategorie erfasst und das Produktetikett formatiert
// Rufen Sie die Arrow-Function auf und geben Sie das Ergebnis aus
echo $result;
?>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Fortgeschrittene Funktionen
Anonyme FunktionenClosures und 'use'Arrow FunctionsCallback-FunktionenVerwendung von 'call_user_func'VariablenfunktionenReferenzübergabeRekursive FunktionenRückblick: Funktions-Medley4Mehrdimensionale Arrays
Ein 2D-Array erstellenZugriff auf 2D-Array-ElementeÄndern von 2D-Array-ElementenIterieren mit verschachtelten Schleifen2D assoziative ArraysZusammenfassung: Einfache Gitter-Übung2Fortgeschrittene Array-Manipulationen
Hinzufügen mit 'array_push'Entfernen mit 'array_pop'Hinzufügen mit 'array_unshift'Entfernen mit 'array_shift'Indizierte Arrays zusammenführenAssoziative Arrays zusammenführenExtrahieren mit 'array_slice'Werte mit 'in_array'Schlüssel mit 'array_search'Rückblick: Playlist-Übung3Arrays sortieren
Indizierte Arrays aufsteigend sortierenIndizierte Arrays absteigend sortierenAssoziative Arrays nach Wert sortierenAssoziative Arrays nach Schlüssel sortierenNatürliche SortierungBenutzerdefiniertes Sortieren mit 'usort'Recap: Leaderboard-Sortierung