Maison > développement back-end > PHP8 > le corps du texte

L'expression match en PHP8 rend votre code simple et puissant

WBOY
Libérer: 2023-06-21 10:43:42
original
2578 Les gens l'ont consulté

Récemment, PHP8 a été officiellement publié et l'expression de correspondance ajoutée dans la nouvelle version est devenue un sujet brûlant parmi les développeurs. L'instruction match peut rendre notre code PHP plus concis et puissant. Cet article vous présentera l'utilisation et les avantages des expressions match.

1. Quelle est l'expression du match ?

Match expression est une nouvelle structure de langage en PHP8, similaire à l'instruction switch. Sa fonction principale est de sélectionner une condition correspondante parmi plusieurs situations possibles.

La forme de l'instruction de correspondance est la suivante :

match ($x) {
    value1 => statement1,
    value2 => statement2,
    value3 => statement3,
    ...
    default => default_statement
}
Copier après la connexion

Parmi eux, $x est la valeur de l'expression, valeur1, valeur2, valeur3, etc. sont des valeurs correspondantes possibles, tandis que instruction1, instruction2, instruction3, etc. sont exécuté correspondant à chaque instruction correspondante.

Différent de l'instruction switch, l'instruction match n'a pas besoin d'écrire break dans tous les cas, et la valeur correspondante peut être n'importe quelle expression ou variable.

2. Avantages des expressions de correspondance

1. Plus expressives

Avant PHP8, nous utilisions généralement des instructions if-else pour porter des jugements conditionnels. Mais un grand nombre de codes imbriqués et redondants complexes rendent le code de plus en plus difficile à comprendre. L'instruction match peut améliorer considérablement la lisibilité et la maintenabilité du code.

2. Plus sécurisé

L'expression de correspondance utilise l'opérateur de comparaison strict AND (===), ce qui signifie qu'elle est plus sûre. Parce qu’il n’implique pas de conversion de type faible, il évite certaines erreurs implicites.

3. Plus efficace

En PHP8, l'implémentation sous-jacente de l'instruction match est la construction et la recherche de la table de hachage. Par rapport aux instructions if-else, match s'exécute plus rapidement et améliore donc les performances de PHP.

3. Scénarios d'application des expressions de correspondance

Alors, dans quels scénarios les expressions de correspondance doivent-elles être utilisées ? Voici quelques exemples pour vous aider à mieux comprendre.

1. Filtrer le tableau

Utilisez l'instruction match pour filtrer facilement les éléments du tableau, par exemple en ne conservant que certains éléments. Le code est le suivant :

$filtered = array_filter($array, fn($value) => match ($value) {
    'apple', 'orange' => true,
    default => false,
});
Copier après la connexion

2. Conditions de correspondance multiples

l'expression de correspondance peut facilement gérer plusieurs conditions de correspondance, telles que la sélection du premier nombre pair parmi 1, 2, 4 et 6. Le code est le suivant :

$even = match (true) {
    ($value % 2 == 0 && $value > 0) => $value,
    ($value % 2 == 0 && $value < 0) => -$value,
    ($value % 2 == 1 && $value > 0) => $value + 1,
    ($value % 2 == -1 && $value < 0) => -$value - 1,
    default => 0,
};
Copier après la connexion

3. Localisation de la langue

Les expressions de correspondance peuvent être utilisées dans la localisation de la langue, par exemple en renvoyant la version linguistique correspondante en fonction des paramètres régionaux de l'utilisateur. Le code est le suivant :

$localized = match ($locale) {
    'en_US', 'en_GB' => 'Hello',
    'fr_FR', 'fr_CA' => 'Bonjour',
    'zh_CN', 'zh_TW' => '你好',
    default => 'Hello',
};
Copier après la connexion

4. Résumé

L'ajout d'expressions de correspondance dans PHP8 peut nous aider à écrire du code simple et puissant, améliorant considérablement la lisibilité et la maintenabilité du code. De plus, les expressions de correspondance sont plus sûres et plus efficaces que les instructions if-else.

Dans le développement réel, nous pouvons utiliser de manière flexible des expressions de correspondance selon différents scénarios d'application pour simplifier le code et améliorer l'efficacité.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal