• PHP 三元运算符


    $a = $a ? $a : 1;//第一种
    $a = $a ? : 1;//第二种

    第二种写法从 PHP 5.3 引入,表示若 $a 返回值为真时,取 $a 的返回值。 此外,在 PHP7 中引入了??运算符

    $a = $a ?? 1;

    该表达式与第二种写法类似,可以达到相同的效果。但??运算符是以判断 $a 变量是否存在于上下文环境中作为条件,而三元运算符不具备这种判断。所以??运算符可 用于判断 $a 变量不存在的情况(也可用于数组)相当于isset(),而使用三元运算符判断一个未定义的变量,PHP 会抛出异常。也正是因为这样,用??判断一个赋值为 0 的变量的时候结果是不一样的。

    $a=0;
    $c=1;
    $b=$a??$c; // isset ($a) ? $a : $c
    echo 'a:'.$a.',b:'.$b.',c:'.$c;
    //a:0,b:0,c:1
    $a=0;
    $c=1;
    $b=$a?$a:$c;
    echo 'a:'.$a.',b:'.$b.',c:'.$c;
    //a:0,b:1,c:1
     
    转自:
  • 相关阅读:
    java微信扫码支付(模式二)
    Python学习08
    学习java第12天
    学习java第11天
    学习java第十天
    学习Java第九天
    学习Java第八天
    学习Java第六天
    学习Java第六天
    学习Java第五天
  • 原文地址:https://www.cnblogs.com/cshaptx4869/p/11363302.html
Copyright © 2020-2023  润新知