Avec le développement et l'amélioration continus du langage de programmation PHP, de nombreuses nouvelles fonctionnalités intéressantes et sucres de syntaxe ont été introduits dans la version PHP8. Cet article présentera l'un des sucres syntaxiques qui rendent votre code plus beau et plus efficace : faire correspondre les expressions.
L'expression match est basée sur l'instruction switch, mais elle a une syntaxe plus compacte et peut renvoyer une variable, ce qui rend le code plus concis et plus facile à comprendre.
La syntaxe d'utilisation des expressions de correspondance :
match ($value) { pattern => statement, pattern2 => statement2, ... default => statementN }
Ici, le paramètre de l'expression de correspondance est une variable $value, qui représente la valeur qui doit être comparée. Nous pouvons ensuite utiliser un modèle pour faire correspondre la valeur de $value et exécuter l'instruction.
Voici un exemple qui montre comment les expressions de correspondance peuvent améliorer la lisibilité du code :
Code sans expressions de correspondance :
function getDayOfWeek($day) { $result = ""; switch ($day) { case 0: $result = "Sunday"; break; case 1: $result = "Monday"; break; case 2: $result = "Tuesday"; break; case 3: $result = "Wednesday"; break; case 4: $result = "Thursday"; break; case 5: $result = "Friday"; break; case 6: $result = "Saturday"; break; } return $result; }
Utiliser le code pour l'expression de correspondance :
function getDayOfWeek($day) { return match ($day) { 0 => "Sunday", 1 => "Monday", 2 => "Tuesday", 3 => "Wednesday", 4 => "Thursday", 5 => "Friday", 6 => "Saturday", }; }
Vous constaterez qu'après avoir réécrit cette fonction à l'aide de l'expression de correspondance, le code est plus lisible et rationalisé, et le code en double peut également être supprimé.
Dans le même temps, l'utilisation d'expressions de correspondance peut simplifier l'imbrication dans plusieurs instructions conditionnelles.
function getDiscountPercentage($age, $residency) { if ($age >= 65 && $residency === 'YES') { return 20; } elseif ($age >= 65 && $residency === 'NO') { return 10; } elseif ($age < 65 && $residency === 'YES') { return 10; } else { return 5; } }
L'utilisation d'expressions de correspondance peut rendre le code ci-dessus plus efficace et plus concis.
function getDiscountPercentage($age, $residency) { return match (true) { $age >= 65 && $residency === 'YES' => 20, $age >= 65 && $residency === 'NO' => 10, $age < 65 && $residency === 'YES' => 10, default => 5, }; }
L'utilisation d'expressions de correspondance peut rendre le code plus efficace, concis et lisible.
Lors de la refactorisation de votre code, nous vous recommandons d'envisager d'utiliser des expressions de correspondance pour améliorer l'efficacité et la lisibilité du code.
Bien sûr, l'expression match n'est pas une solution universelle pour toutes les situations, mais pour certains scénarios, elle peut optimiser le code et améliorer l'efficacité et la lisibilité du code.
Enfin, un autre avantage de l'utilisation des expressions de correspondance est qu'elles maintiennent la cohérence de votre code, car vous êtes plus susceptible d'écrire du code similaire plutôt que d'écrire de nombreuses instructions if/elseif différentes.
En bref, utiliser des expressions de correspondance améliorera grandement la lisibilité, la maintenabilité et l'efficacité de votre code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!