php三元运算符 echo_php的三元运算符

简单记录一哈php的三元运算符的用法:

啥子是三元运算,即第一个表达式作为判断条件,在后面两个表达式中选择一个执行。

若判断成立,则执行第二个表达式,否则执行第三个表达式。

看到好多网友都说的不太全面或者不清不楚,所以这里特意整理了一下,如下:

1. (expr1)?(expr2):(expr3);

=> 表达式1 ? 表达式2 : 表达式3

=> 如果条件“expr1”成立,则返回“expr2”,否则返回“expr3”。

$number = 100;

$msg = $number > 0 ? '大于0' : '不大于0';

echo $msg;//大于0

2. (expr1)?:(expr2);

=> 这个是php5.3开始才有的功能

=> 如果条件“expr1”成立,则返回“expr1”,否则“expr2”。

$number = 100;

$msg = $number ?: '不大于0';

echo $msg;//100

3. (expr1)??(expr2);

=> 这个是php7开始才有的功能

=> 又叫空合并运算符,相当于 isset(expr1) ? expr1 : expr2;

=> 如果条件“isset(expr1)”成立,则执行语句“expr1”,否则执行“expr2”。

=> 链式:(expr1)?? (expr2) ?? (expr3);

特别注意

它只能判断是否为null,而0/false/空数组都认为有值的!

// 一般形式

$msg1 = $number ?? '未设置该变量';

echo $msg1;//'未设置该变量'

$number = 100;

$msg2 = $number ?? '未设置该变量';

echo $msg2;//100

// 链式

$msg3 = $number1 ?? $number2 ?? '未设置该变量';

echo $msg3;//未设置该变量,直接到最后

$number1 = 100;//即使是0/false/空数组都认为有值的!

$msg3 = $number1 ?? $number2 ?? '未设置该变量';

echo $msg3;//100,执行到第一步就得到结果,所以返回100

标签:expr2,执行,运算符,expr3,expr1,三元,php,表达式

来源: https://www.cnblogs.com/xuduan/p/13925267.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值