La structure match
La structure match est apparue en PHP 8.0 et offre un moyen plus concis et plus sûr de faire des branchements par rapport à switch. Elle prend une expression à comparer et renvoie la valeur de la première condition correspondante. Contrairement à switch, match effectue une comparaison stricte (===) et ne nécessite pas de break.
Syntaxe
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Exemple
Appartement simple d'un nombre :
<?php
$res = match (2) {
1 => 'Un',
2 => 'Deux',
3 => 'Trois',
default => 'Inconnu'
};
echo $res;
?>
Résultat de l'exécution du code :
'Deux'
Exemple
Appartement avec plusieurs conditions :
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Enfant',
$age >= 18 && $age < 65 => 'Adulte',
$age >= 65 => 'Sénior'
};
echo $res;
?>
Résultat de l'exécution du code :
'Adulte'
Exemple
Utilisation avec des tableaux :
<?php
$arr = [1, 2, 3];
$res = match ($arr) {
[1, 2, 3] => 'Première séquence',
[4, 5, 6] => 'Deuxième séquence',
default => 'Autre séquence'
};
echo $res;
?>
Résultat de l'exécution du code :
'Première séquence'