Ternäre Operatoren in PHP verschachteln: Fehlerbehebung bei einer ungültigen bedingten Struktur
Ihr Code zielt darauf ab, der Variablen $Myprovince einen Wert basierend auf zuzuweisen Wert von $province mithilfe einer Reihe verschachtelter ternärer Operatoren. Sie sind jedoch auf ein Problem gestoßen, bei dem alle Felder den Wert „Stadt-4“ zurückgegeben haben.
Das Problem
Das Problem liegt in der Verschachtelung der ternären Operatoren. In Ihrem ursprünglichen Code war jeder ternäre Operator unabhängig und die Auswertung erfolgte von links nach rechts. Damit die nachfolgenden Bedingungen jedoch korrekt ausgewertet werden, müssen Sie sie mithilfe von Klammern gruppieren.
Lösung mit verschachtelten Klammern
Um den Code zu korrigieren, müssen Sie ihn einschließen jede Gruppe ternärer Operatoren in Klammern, wie unten gezeigt:
$province = 7; $Myprovince = ( ($province == 6) ? "city-1" : (($province == 7) ? "city-2" : (($province == 8) ? "city-3" : (($province == 30) ? "city-4" : "out of borders"))) );
Durch Gruppieren der ternären Operatoren mithilfe von Klammern, Die Auswertung folgt nun der richtigen Rangfolge und der Variablen $Myprovince wird der entsprechende Wert basierend auf dem Wert von $province zugewiesen.
Das obige ist der detaillierte Inhalt vonWarum gibt mein verschachtelter ternärer PHP-Operator nur „city-4' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!