Maison >développement back-end >tutoriel php >Pourquoi mes opérateurs ternaires imbriqués dans PHP renvoient-ils des résultats inattendus ?
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!