Heim  >  Artikel  >  Backend-Entwicklung  >  Ein einfacher Vergleich des ternären Operators und des Null-Koaleszenzoperators in PHP

Ein einfacher Vergleich des ternären Operators und des Null-Koaleszenzoperators in PHP

青灯夜游
青灯夜游Original
2019-02-01 16:07:593405Durchsuche

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.

Ein einfacher Vergleich des ternären Operators und des Null-Koaleszenzoperators in PHP

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:

Ein einfacher Vergleich des ternären Operators und des Null-Koaleszenzoperators in PHP

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:

Ein einfacher Vergleich des ternären Operators und des Null-Koaleszenzoperators in PHP

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!

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