Конструкција match
Конструкција match се појавила у PHP 8.0 и пружа краћи и безбеднији начин гранања у поређењу са switch. Она прихвата израз за поређење и враћа вредност првог услова који се поклопи. За разлику од switch, match извршава строго поређење (===) и не захтева break.
Синтакса
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Пример
Једноставно упоређивање броја:
<?php
$res = match (2) {
1 => 'Један',
2 => 'Два',
3 => 'Три',
default => 'Непознато'
};
echo $res;
?>
Резултат извршавања кода:
'Два'
Пример
Упоређивање са више услова:
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Дете',
$age >= 18 && $age < 65 => 'Одрастао',
$age >= 65 => 'Сениор'
};
echo $res;
?>
Резултат извршавања кода:
'Одрастао'
Пример
Коришћење са низовима:
<?php
$arr = [1, 2, 3];
$res = match ($arr) {
[1, 2, 3] => 'Прва секвенца',
[4, 5, 6] => 'Друга секвенца',
default => 'Друга секвенца'
};
echo $res;
?>
Резултат извршавања кода:
'Прва секвенца'