Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in den ternären Operator in PHP

Detaillierte Einführung in den ternären Operator in PHP

怪我咯
怪我咯Original
2017-06-20 14:03:551744Durchsuche

Willkommen beim Erlernen von PHPternärer Arithmetik hier sind die spannenden Inhalte, die wir für Sie zusammengestellt haben. Ich hoffe, jeder kann hier lernen! Ternärer -Operator Syntax: Bedingung? Ergebnis 1: Ergebnis 2 Beschreibung: Die Position vor dem Fragezeichen ist die Bedingung für die Beurteilung , und wenn es nicht erfüllt ist, ist das Ergebnis 2. Lassen Sie uns dies weiter unten im Detail besprechen.

$if_summary = $row['IF_SUMMARY']==2?'是':'否';

Später fand Baidu heraus, dass es sich um den ternären Operator von PHP handelt

Dieser Satz bedeutet dasselbe wie

if($row['IF_SUMMARY']==2){
$if_summary="是";
}else{
$if_summary="否";
}

Die Funktion des ternären Operators ist dieselbe wie Die Prozessanweisung „if...else“ ist konsistent, sie ist in einer Zeile geschrieben, der Code ist sehr prägnant und die Ausführungseffizienz ist höher.

Die richtige Verwendung des ternären Operators in PHP-Programmen kann Skripte prägnanter und effizienter machen.

Das Codeformat ist wie folgt:

(expr1) ? (expr2) : (expr3);

Erklärung: Wenn die Bedingung „expr1“ wahr ist, führen Sie die Anweisung „expr2“ aus, andernfalls führen Sie „expr3“ aus.

Um die gleiche Funktion zu erreichen, müssen Sie bei Verwendung bedingter Prozessanweisungen mehrere Codezeilen schreiben:

if(expr1) {
expr2;
} else {
expr3;
}

Es ist ersichtlich, dass der oben erwähnte ternäre Operator gut ist ist keine Übertreibung. In den meisten Fällen verwenden wir den ternären Operator jedoch nur, wenn der Code relativ einfach ist, das heißt, wenn die Ausführungsanweisung nur aus einem einzigen Satz besteht. Zum Beispiel:

1$a>$b ? print „a ist größer als b“ : print „a ist kleiner als b“;

Tatsächlich kann der ternäre Operator erweitert werden, wenn Die Bedingungen sind festgelegt. Unabhängig davon, ob dies wahr ist oder nicht, kann die Ausführungsanweisung aus mehr als einem Satz bestehen. Versuchen Sie das folgende Format:

(expr1) ? (expr2).(expr3) : (expr4).(expr5);

Wir können deutlich erkennen, dass mehrere Ausführungsanweisungen die Zeichenfolge verwenden können Operator ( ".") sind verbunden, und jede Ausführungsanweisung ist in kleine spitze Klammern eingeschlossen, um anzuzeigen, dass es sich um eine unabhängige und vollständige Ausführungsanweisung handelt. Nach dieser Erweiterung ähnelt seine Funktion eher der Prozessanweisung „if...else“.

Gleichzeitig kann der ternäre Operator auch verschachtelt verwendet werden. Wenn zum Beispiel a größer als b ist: wenn a kleiner als c ist, dann ist x=c-a, andernfalls ist x=a-c; andernfalls ist a kleiner als b: wenn b kleiner als c ist, dann ist x=c-b, andernfalls ist x=b-c:

$a>$b ? $x=($a<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b-$c);

Die Lesbarkeit des verschachtelten ternären Operators ist nicht sehr gut, und im Vergleich zu Prozessanweisungen wie „if...else“ kann es in Zukunft zu Problemen bei der Wartung des Codes kommen „In der obigen Situation ist es tatsächlich zu prägnant, was seine Attraktivität ausmacht.

Für diejenigen, die gerne faul sind und die Einfachheit des Codes anstreben, sollte die Verwendung des ternären Operators als Ersatz für die if-Prozessanweisung eine ausgezeichnete Wahl sein. Auch wenn im „Ternär“ kein anderes „Element“ als der Bedingungssatz berücksichtigt werden muss, ist die Verwendung des Ternäroperators dennoch prägnanter als die if-Anweisung. Die Syntax der folgenden Anweisungen ist korrekt, sie lassen das zweite oder dritte „Element“ in einer kleinen Anführungszeichenform weg:

2$a>$b ? print "Yes" : "";
$a>$b ? &#39;&#39;: print &#39;No&#39;;

Es ist zu beachten: Bei Verwendung des ternären Operators wird empfohlen, The zu verwenden Die print-Anweisung ersetzt die echo-Anweisung.

Achten Sie auf das Verständnis der folgenden Reihe von Anweisungen:

$str = $_GET[&#39;abc&#39;] ? &#39;wangjinbo&#39; : &#39;wjb&#39;;

Dies kann nicht so verstanden werden: Wenn $str gleich $_GET['abc'] ist, ist die Zuweisung 'wangjinbo', andernfalls lautet die Zuweisung 'wjb';Weil eins: == verwendet werden sollte, um die Gleichheit zu beurteilen; Grund zwei: Die Syntax des ternären Operators ist wie oben gezeigt: (expr1) : (expr3), offensichtlich kann das obige binäre, ternäre 'wangjinbo' Oder 'wjb' allein keinen sinnvollen Ausdruck;

Das richtige Verständnis ist: wenn $_GET['abc'] leer ist (das heißt , ob, '' in PHP, null, 0, undifine, alle äquivalent zum booleschen Wert false sind), weisen Sie $str 'wangjinbo' zu, andernfalls weisen Sie es 'wjb' zu;

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den ternären Operator in PHP. 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