Heim >Backend-Entwicklung >PHP-Tutorial >Warum liefern meine verschachtelten ternären Operatoren in PHP unerwartete Ergebnisse?
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!