Constructie match
De constructie match werd geïntroduceerd in PHP 8.0 en biedt een beknoptere en veiligere manier voor vertakking in vergelijking met switch. Het neemt een expressie voor vergelijking en retourneert de waarde van de eerste overeenkomende voorwaarde. In tegenstelling tot switch, voert match een strikte vergelijking uit (===) en vereist het geen break.
Syntaxis
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Voorbeeld
Eenvoudige matching van een getal:
<?php
$res = match (2) {
1 => 'Een',
2 => 'Twee',
3 => 'Drie',
default => 'Onbekend'
};
echo $res;
?>
Resultaat van de code-uitvoering:
'Twee'
Voorbeeld
Matching met meerdere voorwaarden:
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Kind',
$age >= 18 && $age < 65 => 'Volwassene',
$age >= 65 => 'Senior'
};
echo $res;
?>
Resultaat van de code-uitvoering:
'Volwassene'
Voorbeeld
Gebruik met arrays:
<?php
$arr = [1, 2, 3];
$res = match ($arr) {
[1, 2, 3] => 'Eerste reeks',
[4, 5, 6] => 'Tweede reeks',
default => 'Andere reeks'
};
echo $res;
?>
Resultaat van de code-uitvoering:
'Eerste reeks'