Maison  >  Article  >  développement back-end  >  Comment gérer plusieurs conditions de manière plus concise grâce à l'expression Match de PHP8 ?

Comment gérer plusieurs conditions de manière plus concise grâce à l'expression Match de PHP8 ?

WBOY
WBOYoriginal
2023-10-21 08:52:55502parcourir

Comment gérer plusieurs conditions de manière plus concise grâce à lexpression Match de PHP8 ?

Comment gérer plusieurs conditions de manière plus concise grâce à l'expression Match de PHP8 ?

PHP8 introduit une nouvelle expression - Match expression, qui est plus concise et intuitive que la précédente instruction if-elseif-else lors du traitement de plusieurs conditions. Les expressions de correspondance utilisent une nouvelle structure syntaxique qui facilite la correspondance et le traitement des valeurs.

La syntaxe de base de l'expression Match est la suivante :

$result = match ($value) {
    $condition1 => $result1,
    $condition2 => $result2,
    ...
    $conditionN => $resultN,
    default => $defaultResult,
};

Avec cette syntaxe, nous pouvons traiter plusieurs conditions dans une seule ligne de code et renvoyer différents résultats en fonction de différentes conditions. Ci-dessous, nous utilisons plusieurs exemples spécifiques pour illustrer comment utiliser les expressions Match pour gérer plusieurs conditions de manière concise.

Exemple 1 : Renvoyer le message de bienvenue correspondant en fonction de l'identité de connexion de l'utilisateur

$userType = getUserType();

$welcomeMessage = match ($userType) {
    'admin' => '欢迎管理员!',
    'user' => '欢迎普通用户!',
    'guest' => '欢迎游客!',
    default => '欢迎访问!',
};

echo $welcomeMessage;

Dans cet exemple, nous utilisons l'expression Match pour renvoyer le message de bienvenue correspondant en fonction de l'identité de connexion de l'utilisateur. En fonction de la valeur de $userType, l'expression Match renverra des résultats différents.

Exemple 2 : Calculez le prix réduit de la commande en fonction du type de produit

$productType = getProductType();

$discountPrice = match ($productType) {
    '电子产品' => $orderPrice * 0.8,
    '服装鞋包' => $orderPrice * 0.9,
    '食品饮料' => $orderPrice * 0.95,
    default => $orderPrice,
};

echo '折扣后的价格为:' . $discountPrice;

Dans cet exemple, nous utilisons l'expression Match pour calculer le prix réduit de la commande en fonction du type de produit. Selon différentes valeurs $productType, l'expression Match renverra le prix réduit correspondant.

Exemple 3 : Traitement du code d'état de la requête HTTP

$httpStatusCode = getHttpStatusCode();

$message = match ($httpStatusCode) {
    200 => '请求成功',
    301 => '永久重定向',
    404 => '页面不存在',
    500 => '服务器错误',
    default => '未知状态',
};

echo '状态码' . $httpStatusCode . ':' . $message;

Dans cet exemple, nous utilisons l'expression Match pour renvoyer les informations correspondantes en fonction du code d'état de la requête HTTP. Selon les différentes valeurs de $httpStatusCode, l'expression Match renverra différents messages.

Comme vous pouvez le voir dans l'exemple ci-dessus, l'utilisation d'expressions Match peut gérer plusieurs conditions de manière concise et renvoyer les résultats correspondants en fonction de différentes conditions. Il élimine de nombreuses instructions if-elseif-else, rendant le code plus clair et plus lisible.

Bien que les expressions Match présentent certains avantages lors du traitement de plusieurs conditions, il convient de noter que les conditions auxquelles correspondent les expressions Match doivent être des valeurs plutôt que des expressions. De plus, la branche par défaut de l'expression Match est facultative et renverra null si aucune condition n'est remplie.

En bref, grâce à l'expression Match de PHP8, nous pouvons gérer plusieurs conditions de manière plus concise, rendant le code plus concis et lisible. C'est un bon choix pour les développeurs PHP lorsqu'ils traitent plusieurs instructions conditionnelles.

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