Maison >développement back-end >tutoriel php >Comment puis-je imbriquer correctement les opérateurs ternaires en PHP pour éviter des résultats inattendus ?

Comment puis-je imbriquer correctement les opérateurs ternaires en PHP pour éviter des résultats inattendus ?

DDD
DDDoriginal
2024-12-16 08:24:15846parcourir

How Can I Correctly Nest Ternary Operators in PHP to Avoid Unexpected Results?

Imbrication d'opérateurs ternaires en PHP pour les instructions conditionnelles complexes

En PHP, l'empilement de plusieurs opérateurs ternaires peut simplifier les instructions conditionnelles, en particulier lorsqu'il s'agit d'opérateurs ternaires imbriqués. conditions. Cependant, il est crucial de comprendre les mécanismes pour éviter toute mauvaise interprétation.

Considérez l'extrait de code suivant :

$Myprovince = (($province == 6) ? "city-1" : ($province == 7) ? "city-2" : ($province == 8) ? "city-3" : ($province == 30) ? "city-4" : "out of borders");

L'intention de ce code est d'attribuer un nom de ville à $Myprovince en fonction du valeur de $province. Pourtant, malgré l'attribution de valeurs de province différentes, il renvoie systématiquement « ville-4 ».

Pour résoudre ce problème, les parenthèses sont essentielles :

$province = 7;
$Myprovince = (($province == 6) ? "city-1" : (($province == 7) ? "city-2" : (($province == 8) ? "city-3" : (($province == 30) ? "city-4" : "out of borders"))));

Les parenthèses garantissent que les conditions sont évaluées dans ordre, évitant ainsi que les conditions ultérieures soient appliquées prématurément. En mettant chaque opérateur ternaire entre parenthèses, le code donne la priorité à l'évaluation correcte des conditions imbriquées.

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