Konstruktionen match
Konstruktionen match dukkede op i PHP 8.0 og giver en mere kort og sikker måde at forgrene sig på sammenlignet med switch. Den tager et udtryk til sammenligning og returnerer værdien af den første matchende betingelse. I modsætning til switch udfører match streng sammenligning (===) og kræver ikke break.
Syntaks
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Eksempel
Simpel sammenligning af et tal:
<?php
$res = match (2) {
1 => 'One',
2 => 'Two',
3 => 'Three',
default => 'Unknown'
};
echo $res;
?>
Resultat af kodeudførelse:
'Two'
Eksempel
Sammenligning med flere betingelser:
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Child',
$age >= 18 && $age < 65 => 'Adult',
$age >= 65 => 'Senior'
};
echo $res;
?>
Resultat af kodeudførelse:
'Adult'
Eksempel
Brug med arrays:
<?php
$arr = [1, 2, 3];
$res = match ($arr) {
[1, 2, 3] => 'First sequence',
[4, 5, 6] => 'Second sequence',
default => 'Other sequence'
};
echo $res;
?>
Resultat af kodeudførelse:
'First sequence'