Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich verschachtelte ternäre Operatoren in PHP richtig implementieren, um unerwartete Ergebnisse zu vermeiden?

Wie kann ich verschachtelte ternäre Operatoren in PHP richtig implementieren, um unerwartete Ergebnisse zu vermeiden?

Patricia Arquette
Freigeben: 2024-12-16 21:38:21
Original
407 Leute haben es durchsucht

How Can I Correctly Implement Nested Ternary Operators in PHP to Avoid Unexpected Results?

Verschachtelte ternäre Operatoren in PHP: Ein gelöstes Rätsel

Verschachtelte ternäre Operatoren bieten eine prägnante und leistungsstarke Möglichkeit, Werte in PHP bedingt zuzuweisen. Wenn jedoch mehrere Operatoren verwendet werden, ist die richtige Syntax von entscheidender Bedeutung.

Das Problem

Bedenken Sie den folgenden Code:

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

Trotz der Absicht Wählen Sie eine Stadt basierend auf dem Provinzwert aus. Der Code weist $Myprovince für jeden „city-4“ zu Feld.

Die Lösung

Das Problem liegt im Fehlen von Klammern. Jeder ternäre Operator muss ordnungsgemäß verschachtelt sein, um eine korrekte Auswertung sicherzustellen. Der aktualisierte Code unten behebt das Problem:

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

So funktioniert es

Der innerste ternäre Operator wertet die Bedingung aus ($province == 8) und weist „Stadt“ zu -3", wenn wahr, oder fährt mit dem nächsten Operator fort, wenn falsch.

Der mittlere ternäre Operator prüft, ob $province gleich ist 7 und weist „city-2“ zu, wenn wahr, oder fährt mit dem nächsten Operator fort.

Schließlich wertet der äußerste ternäre Operator die Bedingung aus ($province == 6) und weist „city-1“ zu, wenn wahr, oder fährt fort zu den verbleibenden Optionen und weist schließlich „Stadt-4“ zu, wenn $province 30 ist, andernfalls „außerhalb der Grenzen“.

Das obige ist der detaillierte Inhalt vonWie kann ich verschachtelte ternäre Operatoren in PHP richtig implementieren, um unerwartete Ergebnisse zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage