这段文字是关于 PHP 中三元运算符的用法,包括三种情况: 1. `(expr1) ? (expr2) : (expr3)`:在 expr1 为真时返回 expr2,否则返回 expr3。 2. `(expr1) ? : (expr2)`:在 expr1 为真时返回 expr1,否则返回 expr2。 3. `(expr1) ? ?(expr2) : (expr3)`:在 expr1 为真时返回 expr1,否则返回 expr2。 这些表达式在 PHP5.3 开始引入,用于根据条件选择不同的值。例如,$a = $a ? $a : 1;表示如果 $a 存在(即 true),则返回 $a,否则返回 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;
(expr1) ? :(expr2) :这个是php5.3开始才有的功能
在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr2。
例子
$a = $a ?: 1;
它等价于1的例子
(expr1) ? ?(expr2) :这个是php7才有的功能
它等价于 $a = isset(expr1) ? expr1 : expr2
$b = isset($a) ? $a : 1;
原文链接:https://blog.csdn.net/qq_29763583/article/details/81131985