Maison > développement back-end > tutoriel php > Comment puis-je éviter les erreurs lors de l'imbrication d'opérateurs ternaires en PHP ?

Comment puis-je éviter les erreurs lors de l'imbrication d'opérateurs ternaires en PHP ?

Mary-Kate Olsen
Libérer: 2024-12-16 15:08:14
original
649 Les gens l'ont consulté

How Can I Avoid Errors When Nesting Ternary Operators in PHP?

Opérateurs ternaires imbriqués en PHP : pièges et solutions

En PHP, les opérateurs ternaires offrent un moyen concis et élégant d'attribuer des valeurs de manière conditionnelle. Bien qu'ils puissent constituer un outil puissant, il est essentiel de les utiliser correctement pour éviter des résultats inattendus.

Un problème courant survient lors de l'imbrication de plusieurs opérateurs ternaires, comme le démontre le code suivant :

$province = 7;
$Myprovince = (
($province == 6) ? "city-1" :
($province == 7) ? "city-2" :
($province == 8) ? "city-3" :
($province == 30) ? "city-4" : "out of borders"
);
Copier après la connexion

Lors de l'exécution, ce code attribue incorrectement "city-4" à $Myprovince quelle que soit la valeur de $province. Le problème réside dans l'imbrication des opérateurs ternaires sans regroupement approprié.

Pour résoudre ce problème, il est nécessaire d'utiliser des parenthèses pour s'assurer que les opérateurs ternaires sont évalués dans le bon ordre. Le code corrigé ci-dessous :

$province = 7;
$Myprovince = (
  ($province == 6) ? "city-1" :
  (($province == 7) ? "city-2" :
   (($province == 8) ? "city-3" :
    (($province == 30) ? "city-4" : "out of borders")))
);
Copier après la connexion

Avec cette modification, les opérateurs ternaires sont correctement imbriqués, et le code attribue correctement "city-2" à $Myprovince car $province est égal à 7.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal