1. (expr1) ? (expr2) : (expr3) :
表示式 (expr1) ? (expr2) : (expr3) 在 expr1 求值為true
時的值為 expr2,在 expr1 求值為false
時的值為 expr3。
其中false的值的判斷跟 if (expr1)一樣,包括空字串 '' false 為空empty null 0 0.0 『0』
例子
$a = $a ? $a : 1;
2. (expr1) ? :(expr2) :這個是php5.3開始才有的功能
在 expr1 求值為true
時返回 expr1,否則返回 expr2。
例子
$a = $a ?: 1;
它等價於1的例子
3. (expr1) ? ?(expr2) :這個是php7才有的功能
它等價於 $a = isset(expr1) ? expr1 : expr2
$b = isset($a) ? $a : 1;
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。例子 a a a 1 2.expr1 expr3 這個是php5.3開始才有的功能 在 expr1 求...
php的三元運算子 和
1.expr1 expr2 expr3 表示式 expr1 expr2 expr3 在 expr1 求值為true時的值為 expr2,在 expr1 求值為false時的值為 expr3。其中false的值的判斷跟 if expr1 一樣,包括空字串 false 為空empty null 0 0....