1. (expr1) ? (expr2) : (expr3) :
表示式 (expr1) ? (expr2) : (expr3) 在 expr1 求值為 true 時的值為 expr2,在 expr1 求值為 false 時的值為 expr3。
例子$a = $a ? $a : 1;
2. (expr1) ? :(expr3) :這個是php5.3開始才有的功能
在 expr1 求值為 true 時返回 expr1,否則返回 expr3。
例子$a = $a ?: 1;
它等價於1的例子
3. (expr1) ? ?(expr3) :這個是php7才有的功能
它等價於 ?:
只有乙個區別 當 $a 未定義時,?: 會報乙個 未定義變數 的 notice錯誤級別
---------------------
原文:
PHP 三元運算子
a a a 1 第一種 a a 1 第二種第二種寫法從 php 5.3 引入,表示若 a 返回值為真時,取 a 的返回值。此外,在 php7 中引入了?運算子 a a 1 該表示式與第二種寫法類似,可以達到相同的效果。但?運算子是以判斷 a 變數是否存在於上下文環境中作為條件,而三元運算子不具備這種...
php的三元運算子 和
1.expr1 expr2 expr3 表示式 expr1 expr2 expr3 在 expr1 求值為true時的值為 expr2,在 expr1 求值為false時的值為 expr3。其中false的值的判斷跟 if expr1 一樣,包括空字串 false 為空empty null 0 0....
php的三元運算子 和
1.expr1 expr2 expr3 表示式 expr1 expr2 expr3 在 expr1 求值為true時的值為 expr2,在 expr1 求值為false時的值為 expr3。其中false的值的判斷跟 if expr1 一樣,包括空字串 false 為空empty null 0 0....