A match szerkezet
A match szerkezet a PHP 8.0-ban jelent meg, és rövidebb és biztonságosabb módot kínál az elágazásra a switch-hez képest. Egy kifejezést vesz fel összehasonlításra, és az első egyező feltétel értékét adja vissza. A switch-től eltérően a match szigorú összehasonlítást (===) végez, és nem igényel break-et.
Szintaxis
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Példa
Egyszerű szám egyeztetés:
<?php
$res = match (2) {
1 => 'Egy',
2 => 'Kettő',
3 => 'Három',
default => 'Ismeretlen'
};
echo $res;
?>
A kód végrehajtásának eredménye:
'Kettő'
Példa
Egyeztetés több feltétellel:
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Gyermek',
$age >= 18 && $age < 65 => 'Felnőtt',
$age >= 65 => 'Idős'
};
echo $res;
?>
A kód végrehajtásának eredménye:
'Felnőtt'
Példa
Használat tömbökkel:
<?php
$arr = [1, 2, 3];
$res = match ($arr) {
[1, 2, 3] => 'Első sorozat',
[4, 5, 6] => 'Második sorozat',
default => 'Egyéb sorozat'
};
echo $res;
?>
A kód végrehajtásának eredménye:
'Első sorozat'