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.
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"
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