In PHP werden der ternäre Operator (?:) und der Null-Koaleszenzoperator (??) ähnlich verwendet. Was sind also die Unterschiede zwischen ihnen? Der folgende Artikel stellt Ihnen den ternären Operator und den Null-Koaleszenzoperator vor. Ich hoffe, er wird Ihnen hilfreich sein.
Ternärer Operator
Der ternäre Operator ist ein bedingter Operator. Hilft, die Anzahl zu reduzieren von Zeilen in der Codierung bei der Durchführung von Vergleichen und Bedingungen. Es ist eine Alternative zur Verwendung von if else und verschachtelten if else-Anweisungen und die Ausführungsreihenfolge ist von links nach rechts. Es ist definitiv die zeitsparendste Option. [Video-Tutorial-Empfehlung: PHP-Tutorial]
Grundlegende Syntax:
(条件)?(声明1):(声明2);
Wenn im ternären Operator die bedingte Anweisung wahr ist, dann Anweisung 1 wird ausgeführt, andernfalls wird Anweisung 2 ausgeführt.
Beispiel:
<?php header("content-type:text/html;charset=utf-8"); $num = 21; print($num."是"); print ($num % 2 == 0) ? "偶数" : "奇数"; ?>
Äquivalent zu:
<?php header("content-type:text/html;charset=utf-8"); $num = 21; if($num % 2 == 0){ echo $num."是偶数"; } else{ echo $num."是奇数"; } ?>
Ausgabe:
Null-Koaleszenzoperator
Null-Koaleszenzoperator wird verwendet, um zu überprüfen, ob eine bestimmte Variable ein Nullwert ist, und um einen Nicht-Null-Wert von einem benutzerdefinierten Wert zurückzugeben Wertepaar NULL-Wert. Der Null-Koaleszenzoperator wird hauptsächlich verwendet, um zu verhindern, dass Objektfunktionen NULL-Werte zurückgeben, anstatt die standardmäßig optimierten Werte zurückzugeben. Es wird verwendet, um Ausnahmen und Compilerfehler zu vermeiden.
Die Ausführungsreihenfolge ist von rechts nach links; bei der Ausführung wird der rechte Operand (nicht leer) als Rückgabewert verwendet. Wenn er null ist, wird der linke Operand als Rückgabewert verwendet. Es trägt dazu bei, die Lesbarkeit des Quellcodes zu verbessern.
Grundlegende Syntax:
(条件)?(声明1)?(声明2);
ersetzt durch if-Anweisung:
// 使用isset()函数 // 注意条件不为空 if ( isset(条件) ) { return 声明1; } else { return 声明2; }
Beispiel:
<?php $num = 10; print ($num) ?? "NULL"; ?>
Ausgabe:
Unterschied zwischen ternärem Operator und Null-Koaleszenzoperator:
● Der ternäre Operator ist linksassoziativ und der Null-Koaleszenzoperator ist rechtsassoziativ.
● Der ternäre Operator prüft, ob der Wert wahr ist, und der Null-Koaleszenzoperator prüft, ob der Wert Null ist.
● Wenn Sie mehr Iterationen durchführen möchten, ist der Null-Koaleszenzoperator schneller als der ternäre Operator.
● Der Null-Koaleszenzoperator kann für eine bessere Lesbarkeit sorgen.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !
Das obige ist der detaillierte Inhalt vonEin einfacher Vergleich des ternären Operators und des Null-Koaleszenzoperators in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!