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;
?>
Кодты орындау нәтижесі:
'Бірінші тізбек'