Verschachtelung ternärer Operatoren in PHP für komplexe bedingte Anweisungen
In PHP kann das Stapeln mehrerer ternärer Operatoren bedingte Anweisungen vereinfachen, insbesondere beim Umgang mit verschachtelten Bedingungen. Es ist jedoch wichtig, die Mechanismen zu verstehen, um Fehlinterpretationen zu vermeiden.
Beachten Sie den folgenden Codeausschnitt:
$Myprovince = (($province == 6) ? "city-1" : ($province == 7) ? "city-2" : ($province == 8) ? "city-3" : ($province == 30) ? "city-4" : "out of borders");
Die Absicht dieses Codes besteht darin, $Myprovince einen Städtenamen basierend auf dem zuzuweisen Wert von $provinz. Trotz der Zuweisung unterschiedlicher Provinzwerte wird jedoch stets „Stadt-4“ zurückgegeben.
Um dieses Problem zu beheben, sind Klammern unerlässlich:
$province = 7; $Myprovince = (($province == 6) ? "city-1" : (($province == 7) ? "city-2" : (($province == 8) ? "city-3" : (($province == 30) ? "city-4" : "out of borders"))));
Die Klammern stellen sicher, dass die Bedingungen ausgewertet werden Damit wird verhindert, dass die nachfolgenden Bedingungen vorzeitig zur Anwendung kommen. Indem jeder ternäre Operator in Klammern gesetzt wird, priorisiert der Code die korrekte Auswertung der verschachtelten Bedingungen.
Das obige ist der detaillierte Inhalt vonWie kann ich ternäre Operatoren in PHP richtig verschachteln, um unerwartete Ergebnisse zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!