• 技术文章 >后端开发 >PHP问题

    php逻辑运算符之间有什么区别

    长期闲置长期闲置2022-03-25 14:52:32原创160

    区别:1、and和“&&”运算符都用于表示逻辑与,and的优先级较低,“&&”的优先级较高;2、or和“||”运算符都用于表示逻辑或,or的优先级较低,“||”的优先级较高;3、“$”运算符用于表示逻辑非;4、xor运算符用于表示逻辑异或。

    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。

    php逻辑运算符之间有什么区别

    php 逻辑运算符

    03.png

    一直认为PHP中“or”和“||”是可以划等号的,其实不然,它们存在一个优先级的差别。下面通过一个例子说明它们的差异:

    <?php
    $a = false || true; //'||'的优先级大于'=',先执行 false || true,然后赋值$a
    $b = false or true; // 'or'的优先级小于'=',先将false赋值给$b
    var_dump($a).PHP_EOL;//true
    var_dump($b);//false
    ?>

    执行后,$a为true,而$b为false。这是因为“||”的优先级大于“=”,先执行 false || true,然后将执行后的结果true赋值给$a。而“or”的优先级小于“=”,先将false赋值给$b,因此$b就为false

    PHP中的逻辑“与”运算有两种形式:AND 和 &&,同样“或”运算也有OR和||两种形式。

    如果是单独两个表达式参加的运算,两种形式的结果完全相同,例如 $a AND $b和$a && $b没有任何区别。同样的$a OR $b和$a || $b也完全一样。

    但两种形式的逻辑运算符优先级不同,这四个符号的优先允许从高到低是:&&、||、AND、OR。特别注意,这句话要仔细理解。举例:

    $a || $b AND $c || $d

    相当于:

    ($a || $b) AND ($c || $d)

    推荐学习:《PHP视频教程

    以上就是php逻辑运算符之间有什么区别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:php匿名类是什么意思 下一篇:php怎么让unix时间戳转成字符串
    Web大前端开发直播班

    相关文章推荐

    • php判断数组不为空的函数是什么• php preg_match会匹配几次• php中静态方法可以访问非静态方法吗• php中事务是什么意思• 归纳整理39道PHP面试题(总结分享)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网