Konstruksie match
Die konstruksie match het in PHP 8.0 verskyn en bied 'n meer bondige en veiliger manier van vertakking in vergelyking met switch. Dit neem 'n uitdrukking vir vergelyking en gee die waarde van die eerste ooreenstemmende voorwaardes terug. Anders as switch, voer match 'n streng vergelyking (===) uit en vereis nie break nie.
Sintaksis
$resultaat = match ($waarde) {
voorwaarde1 => resultaat1,
voorwaarde2 => resultaat2,
...
default => verstek_resultaat
};
Voorbeeld
Eenvoudige ooreenstemming van 'n nommer:
<?php
$result = match (2) {
1 => 'Een',
2 => 'Twee',
3 => 'Drie',
default => 'Onbekend'
};
echo $result;
?>
Resultaat van kode-uitvoering:
'Twee'
Voorbeeld
Ooreenstemming met verskeie voorwaardes:
<?php
$ouderdom = 25;
$result = match (true) {
$ouderdom < 18 => 'Kind',
$ouderdom >= 18 && $ouderdom < 65 => 'Volwassene',
$ouderdom >= 65 => 'Senior'
};
echo $result;
?>
Resultaat van kode-uitvoering:
'Volwassene'
Voorbeeld
Gebruik met skikkings:
<?php
$skikking = [1, 2, 3];
$result = match ($skikking) {
[1, 2, 3] => 'Eerste volgorde',
[4, 5, 6] => 'Tweede volgorde',
default => 'Ander volgorde'
};
echo $result;
?>
Resultaat van kode-uitvoering:
'Eerste volgorde'