php的三元运算符?:和??

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错误级别

猜你喜欢

转载自blog.csdn.net/qq_29763583/article/details/81131985