Menu
Coddy logo textTech

Funkcje strzałkowe

Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 3 z 68.

Funkcje strzałkowe, wprowadzone w PHP 7.4, umożliwiają zwięźlejszy zapis prostych funkcji anonimowych. Używają słowa kluczowego fn zamiast pełnej składni function, dzięki czemu kod jest krótszy i czytelniejszy.

Oto jak utworzyć funkcję strzałkową:

<?php
$greeting = fn($name) => "Hello, " . $name . "!";
echo $greeting("Alice");  // Wyświetla: Hello, Alice!
?>

Zwróć uwagę na kluczowe różnice: funkcje strzałkowe używają fn zamiast function, mają strzałkę => wskazującą wyrażenie i nie potrzebują nawiasów klamrowych ani instrukcji return w przypadku prostych wyrażeń.

Największą zaletą funkcji strzałkowych jest to, że automatycznie przechwytują zmienne z zakresu nadrzędnego — nie jest potrzebne słowo kluczowe use:

<?php
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob");  // Wyświetla: Welcome, Bob!
?>

Funkcje strzałkowe doskonale nadają się do krótkich, prostych operacji, w przypadku których tradycyjna składnia funkcji anonimowych wydaje się zbyt rozwlekła.

challenge icon

Wyzwanie

Łatwy

Utwórz funkcję strzałkową, która przyjmuje nazwę produktu jako parametr i zwraca sformatowaną etykietę produktu. Funkcja strzałkowa powinna przechwytywać nazwę kategorii z otaczającego zakresu.

Otrzymasz dwa dane wejściowe: nazwę kategorii i nazwę produktu. Wczytaj oba dane, utwórz funkcję strzałkową, która przechwytuje kategorię i formatuje etykietę produktu w formacie "[Category] Product", wywołaj funkcję strzałkową z nazwą produktu i wypisz wynik.

Format wejściowy: Dwa wiersze — pierwszy wiersz zawiera nazwę kategorii, drugi wiersz zawiera nazwę produktu

Oczekiwany wynik: Sformatowana etykieta produktu w formacie "[Category] Product"

Spróbuj swoich sił

<?php
// Odczytaj dane wejściowe
$category = trim(fgets(STDIN));
$product = trim(fgets(STDIN));

// TODO: Napisz swój kod poniżej
// Utwórz funkcję strzałkową, która przechwytuje kategorię i formatuje etykietę produktu


// Wywołaj funkcję strzałkową i wyświetl wynik
echo $result;
?>
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator PHP online