Zusammenfassung der Wissenspunkte zum ternären PHP-Operator

巴扎黑
Freigeben: 2023-03-14 18:32:01
Original
1076 Leute haben es durchsucht

Syntax des ternären Operators: Bedingung ? Ergebnis 1 : Ergebnis 2 Hinweis: Die Position vor dem Fragezeichen ist die Bedingung für die Beurteilung. Wenn die Bedingung erfüllt ist, ist das Ergebnis 1, und wenn sie nicht erfüllt ist, ist das Ergebnis 2. Lassen Sie uns dies weiter unten im Detail besprechen.

Als ich heute meine Arbeit online überarbeitete, stieß ich auf einen Satz, den ich nicht verstehen konnte:


$if_summary = $row['IF_SUMMARY']==2?'是':'否';
Nach dem Login kopieren

Später, Baidu Ich habe herausgefunden, dass es sich um PHP 3 handelt. Die Bedeutung des ternären Operators

entspricht


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

Die Funktion des ternären Operators ist Dasselbe wie bei der 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 dieselbe Funktion zu erreichen, müssen Sie bei Verwendung bedingter Prozessanweisungen mehrere Codezeilen schreiben:


if(expr1) {

expr2;
} else {
expr3;
}
Nach dem Login kopieren

Sie sehen, was ich zuvor über den ternären Operator gesagt habe, 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. Beispiel:


$a>$b ? print "a大于b" : print "a小于b";
Nach dem Login kopieren

Tatsächlich kann der ternäre Operator erweitert und verwendet werden. Wenn die festgelegte Bedingung wahr ist oder nicht, kann es mehr als eine Ausführungsanweisung geben Versuchen Sie das folgende Format:

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

Wir können deutlich erkennen, dass mehrere Ausführungsanweisungen Zeichenfolgen verwenden können Operationssymbole („.“) 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 es kann in Zukunft zu Problemen bei der Verwaltung des Codes kommen. Im Vergleich zu Prozessanweisungen wie „if. ..else“, im oben genannten In diesem Fall ist es tatsächlich zu einfach, 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 folgenden Anweisungen sind syntaktisch korrekt, sie lassen das zweite oder dritte „Element“ in kleinen Anführungszeichen weg:


$a>$b ? print "Yes" : "";
$a>$b ? &#39;&#39;: print &#39;No&#39;;
Nach dem Login kopieren

Folgendes ist zu beachten: Bei Verwendung des ternären Operators , wird empfohlen, die print-Anweisung anstelle der echo-Anweisung zu verwenden.

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


$str = $_GET[&#39;abc&#39;] ? &#39;wangjinbo&#39; : &#39;wjb&#39;;
Nach dem Login kopieren

Dies kann nicht verstanden werden als: wenn $str gleich $_GET ist ['abc'], Der Wert ist 'wangjinbo', andernfalls ist der Wert 'wjb'; Grund eins: == sollte zur Beurteilung der Gleichheit verwendet werden; Grund zwei: Die Syntax des ternären Operators ist wie oben gezeigt: (expr1)? (expr2): (expr3), offensichtlich das Obige Das binäre und ternäre 'wangjinbo' oder 'wjb' allein kann keinen sinnvollen Ausdruck bilden

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

Das obige ist der detaillierte Inhalt vonZusammenfassung der Wissenspunkte zum ternären PHP-Operator. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!