Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt mein verschachtelter ternärer PHP-Operator nur „city-4' zurück?

Warum gibt mein verschachtelter ternärer PHP-Operator nur „city-4' zurück?

Linda Hamilton
Linda HamiltonOriginal
2024-12-16 19:04:14133Durchsuche

Why Does My Nested PHP Ternary Operator Return Only

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn