Konstruktion match
Die Konstruktion match wurde in PHP 8.0 eingeführt und bietet eine kürzere und sicherere Methode für die Verzweigung im Vergleich zu switch. Sie nimmt einen Ausdruck für den Vergleich entgegen und gibt den Wert der ersten zutreffenden Bedingung zurück. Im Gegensatz zu switch führt match einen strikten Vergleich (===) durch und erfordert kein break.
Syntax
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Beispiel
Einfacher Zahlenvergleich:
<?php
$res = match (2) {
1 => 'One',
2 => 'Two',
3 => 'Three',
default => 'Unknown'
};
echo $res;
?>
Code-Ausführungsergebnis:
'Two'
Beispiel
Vergleich mit mehreren Bedingungen:
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Child',
$age >= 18 && $age < 65 => 'Adult',
$age >= 65 => 'Senior'
};
echo $res;
?>
Code-Ausführungsergebnis:
'Adult'
Beispiel
Verwendung mit Arrays:
<?php
$arr = [1, 2, 3];
$res = match ($arr) {
[1, 2, 3] => 'First sequence',
[4, 5, 6] => 'Second sequence',
default => 'Other sequence'
};
echo $res;
?>
Code-Ausführungsergebnis:
'First sequence'