Maison  >  Article  >  développement back-end  >  Exemple de nouvelles fonctionnalités en PHP8 : Comment utiliser les expressions de correspondance et le code pour simplifier le jugement conditionnel ?

Exemple de nouvelles fonctionnalités en PHP8 : Comment utiliser les expressions de correspondance et le code pour simplifier le jugement conditionnel ?

王林
王林original
2023-09-12 16:19:461021parcourir

Exemple de nouvelles fonctionnalités en PHP8 : Comment utiliser les expressions de correspondance et le code pour simplifier le jugement conditionnel ?

PHP8 est une version importante du langage de programmation PHP qui introduit de nombreuses nouvelles fonctionnalités et améliorations. L'une des nouvelles fonctionnalités concerne les expressions de correspondance, qui peuvent aider les développeurs à simplifier le code de jugement conditionnel. Dans cet article, nous présenterons comment utiliser les expressions de correspondance pour simplifier le processus de jugement conditionnel et donnerons quelques exemples pratiques.

Dans PHP7 et les versions précédentes, nous utilisons souvent des instructions switch ou une série d'instructions if-else pour porter des jugements conditionnels. Ces instructions peuvent remplir la même fonction, mais entraîneront une duplication de code et une mauvaise lisibilité. L’introduction d’expressions de correspondance vise précisément à résoudre ces problèmes.

La syntaxe de l'expression match est très similaire à l'instruction switch. Elle peut exécuter le bloc de code correspondant en fonction de la valeur d'une expression. La différence est que l’expression de correspondance est une expression plutôt qu’une instruction et qu’elle peut renvoyer une valeur. Cela nous permet de l'attribuer directement à une variable ou comme valeur de retour d'une fonction.

Ce qui suit est un exemple simple qui montre comment utiliser des expressions de correspondance pour déterminer à quelle plage appartient un nombre et renvoyer le type numérique correspondant.

function getType(int $number) {
    return match (true) {
        $number < 0 => 'negative',
        $number == 0 => 'zero',
        $number > 0 => 'positive',
    };
}

echo getType(-5);  // 输出: negative
echo getType(0);   // 输出: zero
echo getType(10);  // 输出: positive

Dans l'exemple ci-dessus, nous avons défini une fonction appelée getType qui accepte un entier comme paramètre. Dans l'expression de correspondance, nous utilisons vrai comme condition car nous souhaitons effectuer plusieurs jugements conditionnels au lieu d'un seul jugement. Nous associons ensuite chaque condition au type numérique correspondant à l'aide de l'opérateur fléché =>.

En utilisation réelle, nous pouvons ajouter plus de conditions et effectuer différentes opérations selon les besoins. L'expression de correspondance sera évaluée dans l'ordre en fonction des conditions jusqu'à ce qu'une condition de correspondance soit trouvée ou que la condition par défaut soit atteinte.

function getPrice(string $productType) {
    return match ($productType) {
        'book' => 20,
        'clothes' => 50,
        'electronics' => 100,
        default => 0,
    };
}

echo getPrice('book');          // 输出: 20
echo getPrice('clothes');       // 输出: 50
echo getPrice('electronics');   // 输出: 100
echo getPrice('unknown');       // 输出: 0

Dans l'exemple ci-dessus, nous avons défini une fonction appelée getPrice, qui accepte un paramètre de chaîne représentant le type de produit. En fonction du type de produit, nous vous remboursons le prix correspondant. Si le type de produit ne correspond à aucun critère, une valeur par défaut de 0 est renvoyée.

En plus de l'utilisation de base dans les exemples ci-dessus, les expressions de correspondance fournissent également d'autres fonctions, telles que l'utilisation d'opérateurs logiques pour combiner des conditions, l'utilisation de fonctions anonymes, etc. Ces fonctionnalités peuvent encore améliorer la flexibilité et la lisibilité de notre code.

Pour résumer, la nouvelle expression de correspondance de fonctionnalités de PHP8 nous offre un moyen de simplifier le jugement conditionnel, rendant notre code plus concis et plus lisible. En utilisant des expressions de correspondance, nous pouvons éviter les instructions if-else encombrantes et le code répété, améliorant ainsi l'efficacité du développement et la qualité du code. J'espère que les exemples de cet article pourront vous aider à mieux comprendre et appliquer les expressions de correspondance.

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!

Déclaration:
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