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;
?>
Кодду иштетүүнүн натыйжасы:
'Биринчи ыраат'