在PHP中,三元運算子(?:)和Null合併運算子(??)的用法相似,那麼它們之間有什麼差異?以下這篇文章就來帶大家了解一下三元運算子和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."是奇数"; } ?>
輸出:
Null合併運算子
Null合併運算子是用來檢查給定變數是否為null值,並從自訂值對傳回非空值。 Null合併運算子主要用於避免物件函數傳回NULL值,而不是傳回預設的最佳化值。它用於避免異常和編譯器錯誤。
執行順序是從右到左;執行時,右側運算元(非空)將作為傳回值,如果為null,則左側運算元將作為傳回值。它有助於提高原始程式碼的可讀性。
基本語法:
(条件)?(声明1)?(声明2);
替換成if語句:
// 使用isset()函数 // 注意条件不为空 if ( isset(条件) ) { return 声明1; } else { return 声明2; }
範例:
<?php $num = 10; print ($num) ?? "NULL"; ?>
輸出:
#三元運算子與Null合併運算子之間的差異:
● 三元運算子是左關聯的;而,Null合併運算子是右邊關聯的。
● 三元運算子檢查值是否為true;而,Null合併運算子檢查該值是否為Null。
● 如果要執行更多迭代,則發現Null合併運算子比三元運算子更快。
● Null合併運算子可以提供更好的可讀性。
以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !
以上是PHP中三元運算子和Null合併運算子的簡單比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!