首頁 >後端開發 >php教程 >PHP中三元運算子和Null合併運算子的簡單比較

PHP中三元運算子和Null合併運算子的簡單比較

青灯夜游
青灯夜游原創
2019-02-01 16:07:593447瀏覽

在PHP中,三元運算子(?:)和Null合併運算子(??)的用法相似,那麼它們之間有什麼差異?以下這篇文章就來帶大家了解一下三元運算子和Null合併運算符,希望對大家有幫助。

PHP中三元運算子和Null合併運算子的簡單比較

三元運算子

#三元運算符是條件運算符,它有助於在執行比較和條件時減少編碼中的行數。它是使用if else和嵌套if else語句的另一種方法,執行順序是從左到右;它絕對是最好的節省時間的選項。 【影片教學推薦:PHP教學

#基本語法:

(条件)?(声明1):(声明2);

在三元運算子中,如果條件語句為true,則聲明1將執行,否則聲明2將執行。

範例:

<?php 
header("content-type:text/html;charset=utf-8");  
$num = 21; 
print($num."是");
print ($num % 2 == 0) ? "偶数" : "奇数"; 
?>

相當於:

<?php 
header("content-type:text/html;charset=utf-8");  
$num = 21; 
if($num % 2 == 0){
echo $num."是偶数";
}
else{
echo $num."是奇数";
}
?>

輸出:

PHP中三元運算子和Null合併運算子的簡單比較

Null合併運算子

Null合併運算子是用來檢查給定變數是否為null值,並從自訂值對傳回非空值。 Null合併運算子主要用於避免物件函數傳回NULL值,而不是傳回預設的最佳化值。它用於避免異常和編譯器錯誤。

執行順序是從右到左;執行時,右側運算元(非空)將作為傳回值,如果為null,則左側運算元將作為傳回值。它有助於提高原始程式碼的可讀性。

基本語法:

(条件)?(声明1)?(声明2);

替換成if語句:

// 使用isset()函数
// 注意条件不为空
if ( isset(条件) ) {   
    return 声明1;
} else {
    return 声明2;
}

範例:

<?php
$num = 10; 
print ($num) ?? "NULL"; 
?>

輸出:

PHP中三元運算子和Null合併運算子的簡單比較

#三元運算子與Null合併運算子之間的差異:

 ●  三元運算子是左關聯的;而,Null合併運算子是右邊關聯的。

 ●  三元運算子檢查值是否為true;而,Null合併運算子檢查該值是否為Null。

 ●  如果要執行更多迭代,則發現Null合併運算子比三元運算子更快。

 ●  Null合併運算子可以提供更好的可讀性。

以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是PHP中三元運算子和Null合併運算子的簡單比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn