Maison >développement back-end >tutoriel php >Pourquoi mes opérateurs ternaires imbriqués dans PHP renvoient-ils des résultats inattendus ?

Pourquoi mes opérateurs ternaires imbriqués dans PHP renvoient-ils des résultats inattendus ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-28 21:02:18418parcourir

Why Are My Nested Ternary Operators in PHP Returning Unexpected Results?

Opérateurs ternaires imbriqués en PHP pour les affectations conditionnelles

Vous avez rencontré un problème avec votre code PHP où vous aviez l'intention d'utiliser des opérateurs ternaires imbriqués mais reçoivent des résultats inattendus. Examinons le problème et proposons une solution :

Le code que vous avez fourni :

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

Dans ce code, vous avez l'intention d'attribuer différents noms de villes en fonction de la valeur de $province. Cependant, vous obtenez "city-4" pour chaque valeur car les opérateurs ternaires ne sont pas correctement imbriqués.

Pour utiliser correctement les opérateurs ternaires imbriqués, vous devez mettre chaque opérateur ternaire entre parenthèses. Le code correct devrait ressembler à ceci :

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

En imbriquant les opérateurs ternaires de cette façon, le code évaluera les conditions dans le bon ordre et attribuera le nom de ville approprié en fonction de la valeur de $province.

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