Instrukcja match w PHP

PHP 8 wprowadziło nową instrukcję kontrolną match, która działa podobnie do switch, ale jest bardziej elastyczna i bezpieczna. Instrukcja match pozwala na porównywanie wyrażenia z wieloma przypadkami, zwracając wartość zgodną z pierwszym pasującym przypadkiem. Jedną z głównych zalet match jest to, że porównuje ona wartości w sposób ścisły (===) oraz automatycznie zwraca wartość bez potrzeby stosowania break.

Podstawy instrukcji match

Instrukcja match porównuje wyrażenie z każdym przypadkiem (case) i wykonuje kod związanym z pierwszym pasującym przypadkiem. Jeśli nie znajdzie pasującego przypadku, może zostać zwrócony domyślny przypadek, oznaczony jako default.

Przykład użycia match

<?php
$dayOfWeek = 3;
$dayName = match ($dayOfWeek) {
    1 => 'Poniedziałek',
    2 => 'Wtorek',
    3 => 'Środa',
    4 => 'Czwartek',
    5 => 'Piątek',
    6 => 'Sobota',
    7 => 'Niedziela',
    default => 'Nieznany dzień',
};

echo "Dzień tygodnia: $dayName";
?>

W powyższym przykładzie, instrukcja match zwraca nazwę dnia tygodnia na podstawie numeru dnia. Dzięki zastosowaniu match, cała konstrukcja jest bardziej zwięzła i czytelna niż przy użyciu switch.

Zalety match nad switch

  • Zwracanie wartości: match automatycznie zwraca wartość, eliminując potrzebę używania return lub przypisywania wyniku do zmiennej w każdym przypadku.
  • Porównanie ścisłe: match używa porównania ścisłego (===), co czyni ją bardziej przewidywalną niż switch, który używa porównania luźnego (==).
  • Bez break: Nie trzeba używać break po każdym przypadku, co zmniejsza ryzyko błędów.

Podsumowanie

Instrukcja match w PHP jest potężnym narzędziem, które ułatwia pisanie bardziej zwięzłego i bezpiecznego kodu. Dzięki jej elastyczności i prostocie użycia, match jest doskonałym uzupełnieniem instrukcji kontrolnych dostępnych w PHP, oferując programistom bardziej eleganckie rozwiązanie dla wielu typowych scenariuszy decyzyjnych.

 

 

Scroll to Top