Конструктсияи 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;
?>
Натиҷаи иҷрои код:
'Рӯйхати аввал'