PHP 逻辑运算详解

  最近在学习 php ,学到了逻辑运算符,总结总结。

  逻辑运算符用来组合逻辑运算的结果,是程序设计中一组非常重要的运算符。

  PHP的逻辑运算符如下:

运算符举例结果为真
&& 或 and (逻辑与)$a and $b  或者  $a && $b 当$a和$b都为真时结果为true
||   或 or   (逻辑或) $a || $b    或者  $a or $b 当$a为真或者$b为真时结果为true
xor  (逻辑异或)$a xor $b  当$a、$b 一个是真一个是假时结果为true
 !     (逻辑非) !$a当$a为假时结果为true

 

php中的这4种逻辑运算符,如果每个单独使用没有什么问题,大家都懂,我就不多说了。

例: $a and $b和$a && $b没有任何区别。同样的$a or $b和$a || $b也完全一样。

但是如果混合使用,像这样:

例:

$i=true;

$j=true;

$z=false;

if($i or $j and $z){

  echo "true";

}else{

  echo "false"

}

//    true

       if($i || $j and $z){

    echo "true";

   }else{

    echo "false"

   }

//    false 

我们可以看到这两个 if 语句 除了 or 和 || 不同之外,其他完全一样。但是结果不同,那这是为什么呢?

因为这两种形式的逻辑运算符优先级不同,说白了就是运算顺序不同。就像加减乘除,是先算加减后算乘除一样。

这四个符号的优先允许从高到低是:&&、||、and、or。

所以上面这两个if语句就相当于:

$i or $j and $z  =>  $i or ( $j and $z )   =>  true  or  ( true )     => 结果为true

$i || $j and $z  =>   ( $i || $j ) and $z   =>  ( true )  and  false  => 结果为false

 

如果你记不住级别,也没有关系,你可以使用括号。

例:$a and (($b != $c) or (5 * (50-$d)))

 

 

 

                    

 

posted on 2017-05-25 09:32 窦哥 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/douhuaichun/p/6902101.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值