Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
9 of 410 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Конструкция match

Конструкция match появилась в PHP 8.0 и предоставляет более краткий и безопасный способ ветвления по сравнению с switch. Она принимает выражение для сравнения и возвращает значение первого совпавшего условия. В отличие от switch, match выполняет строгое сравнение (===) и не требует break.

Синтаксис

$result = match ($value) { condition1 => result1, condition2 => result2, ... default => default_result };

Пример

Простое сопоставление числа:

<?php $res = match (2) { 1 => 'One', 2 => 'Two', 3 => 'Three', default => 'Unknown' }; echo $res; ?>

Результат выполнения кода:

'Two'

Пример

Сопоставление с несколькими условиями:

<?php $age = 25; $res = match (true) { $age < 18 => 'Child', $age >= 18 && $age < 65 => 'Adult', $age >= 65 => 'Senior' }; echo $res; ?>

Результат выполнения кода:

'Adult'

Пример

Использование с массивами:

<?php $arr = [1, 2, 3]; $res = match ($arr) { [1, 2, 3] => 'First sequence', [4, 5, 6] => 'Second sequence', default => 'Other sequence' }; echo $res; ?>

Результат выполнения кода:

'First sequence'

Смотрите также

  • оператор switch,
    который предоставляет альтернативный способ ветвления
  • функцию if,
    которая выполняет условные операторы
byenru