Heim >Backend-Entwicklung >PHP-Tutorial >Warum liefern meine verschachtelten ternären Operatoren in PHP unerwartete Ergebnisse?

Warum liefern meine verschachtelten ternären Operatoren in PHP unerwartete Ergebnisse?

Linda Hamilton
Linda HamiltonOriginal
2024-12-28 21:02:18404Durchsuche

Why Are My Nested Ternary Operators in PHP Returning Unexpected Results?

Verschachtelte ternäre Operatoren in PHP für bedingte Zuweisungen

Sie sind auf ein Problem mit Ihrem PHP-Code gestoßen, bei dem Sie verschachtelte ternäre Operatoren verwenden wollten aber sie erhalten unerwartete Ergebnisse. Lassen Sie uns das Problem untersuchen und eine Lösung anbieten:

Der von Ihnen bereitgestellte Code:

$province = 7;
$Myprovince = (
($province == 6) ? "city-1" :
($province == 7) ? "city-2" :
($province == 8) ? "city-3" :
($province == 30) ? "city-4" : "out of borders"
);

In diesem Code beabsichtigen Sie, unterschiedliche Städtenamen basierend auf dem Wert von $province zuzuweisen. Sie erhalten jedoch für jeden Wert „city-4“, da die ternären Operatoren nicht richtig verschachtelt sind.

Um verschachtelte ternäre Operatoren korrekt zu verwenden, müssen Sie jeden ternären Operator in Klammern setzen. Der richtige Code sollte so aussehen:

$province = 7;
$Myprovince = (($province == 6) ? "city-1" : ((($province == 7) ? "city-2" : ((($province == 8) ? "city-3" : ((($province == 30) ? "city-4" : "out of borders"))))));

Durch die Verschachtelung der ternären Operatoren auf diese Weise wertet der Code die Bedingungen in der richtigen Reihenfolge aus und weist den entsprechenden Stadtnamen basierend auf dem Wert von $province zu.

Das obige ist der detaillierte Inhalt vonWarum liefern meine verschachtelten ternären Operatoren in PHP unerwartete Ergebnisse?. 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