// match - строгое сравнение (===), возвращает значение
$result = match($status) {
'active' => 'Активен',
'banned', 'blocked' => 'Заблокирован', // несколько значений
default => 'Неизвестно',
};
// Без аргумента - как if/elseif
$category = match(true) {
$age < 18 => 'child',
$age < 65 => 'adult',
default => 'senior',
};Отличия от switch: строгое сравнение (===), нет fallthrough, возвращает значение, UnhandledMatchError если нет совпадения (без default).