Imbrication d'opérateurs ternaires en PHP : dépannage d'une structure conditionnelle non valide
Votre code vise à attribuer une valeur à la variable $Myprovince en fonction de la valeur de $province en utilisant une série d’opérateurs ternaires imbriqués. Cependant, vous avez rencontré un problème où tous les champs renvoyaient la valeur « city-4 ».
Le problème
Le problème réside dans l'imbrication des opérateurs ternaires. Dans votre code d'origine, chaque opérateur ternaire était indépendant et l'évaluation se déroulait de gauche à droite. Cependant, pour que les conditions suivantes soient évaluées correctement, vous devez les regrouper à l'aide de parenthèses.
Solution utilisant des parenthèses imbriquées
Pour corriger le code, vous devez joindre chaque groupe d'opérateurs ternaires entre parenthèses, comme démontré ci-dessous :
$province = 7; $Myprovince = ( ($province == 6) ? "city-1" : (($province == 7) ? "city-2" : (($province == 8) ? "city-3" : (($province == 30) ? "city-4" : "out of borders"))) );
En regroupant les opérateurs ternaires à l'aide entre parenthèses, l'évaluation suit désormais l'ordre de priorité correct et la variable $Myprovince se verra attribuer la valeur appropriée en fonction de la valeur $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!