PHP的逻辑运算符中,xor表示逻辑异或

$a xor $b

结果

如果 $a 和 $b 有且仅有一个为 true,则返回 true;如果都是true 或 false,则返回false。

然而在测试xor运算符时,发现一点问题
错误情况1

<?php$a = false xor true;var_dump($a);
?>

结果1

boolean false

情况2

<?php$a = true xor false;var_dump($a);
?>

结果2

boolean true

这是怎么回事呢?


我们换个测试xor运算符的方式
情况3

<?phpecho false xor true;
?>

结果3

1

这样就没问题了,那么前两种情况是哪里有毛病呢?


情况4

<?php$a = (false xor true);var_dump($a)
?>

结果4

boolean true

这样就对了,可见应是运算符优先级导致的。


在PHP中,and、or、xor的运算符优先级是比 = 低的,在这种情况下,加个小括号就好了……

转载于:https://www.cnblogs.com/Genesis2018/p/9079807.html

由逻辑异或运算符而发现的PHP诡异运算符优先级相关推荐

  1. 逻辑同或,逻辑异或,逻辑与,逻辑或

    一.逻辑异或 真⊕假=真 假⊕真=真 假⊕假=假 真⊕真=假 或者为: True ⊕ False = True False ⊕ True = True False ⊕ False = False Tr ...

  2. 使用线性神经网络实现逻辑与和逻辑异或(一)

    线性神经网络在结构上与感知器网络非常相似,只是神经元传输函数不同.线性神经网络的结构如图1所示: 线性神经网络只能实现线性运算,这一点与单层感知器比较类似,因此线性神经网络也只能用于解决比较简单的问题 ...

  3. 快速记住二进制的逻辑与、逻辑或、逻辑非、逻辑异或运算规则

    逻辑与  (&&) :两者值都为1才取1,否则为0 逻辑或   ( || ) :只要有1就取1,否则为0 逻辑非   ( ! )  :若是0,则取1,若是1,则取0 逻辑异或 (⊕)  ...

  4. 逻辑异或(XOR或EOR或⊕) / 逻辑与非(谢费尔竖线,Not AND,常缩写为NAND) / 逻辑或非(NOR) (网络搜集整理)

    逻辑与是两个逻辑变量的一种运算,经常是两个命题的运算.它满足:当且仅当其两个变量的真值都为真时,其结果为真 也写作AB(逻辑学),A && B(计算机科学),或AB(电子学) 逻辑或是 ...

  5. 刘帅嵌入式系统-EOR逻辑异或操作指令

    EOR指令将< shifter_operand > 表示的数值与寄存器< Rn >值按位做逻辑异或操作,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果 ...

  6. Java逻辑操作符——逻辑非、逻辑与、逻辑或和逻辑异或

    先上一段java代码,通过具体例子来理解抽象概念 public class 布尔值 {public static void main(String[] args) {boolean 逻辑非的值_测试1 ...

  7. PHP运算符种类很多 主要有,PHP运算符的类别概览

    PHP作为我们开发网站时经常用到的语言之一,它的功能是非常强大的.我们知道,PHP和其他的语言其实大致上是一样的,它也有自己的运算符.今天就向大家介绍一下PHP运算符的种类,帮助大家了解. PHP运算 ...

  8. javascript运算符_JavaScript中的按位运算符

    javascript运算符 JavaScript按位运算符 (JavaScript Bitwise Operators) A lot of times you come across some str ...

  9. c语言 正号运算符 作用,C语言中,哪些运算符具有左结合性,哪些具有右结合性,帮忙总结下,...

    1级(左结合) () 圆括号:[]下标运算符:->指向结构体成员运算符:. 结构体成员运算符. 2级(右结合) !逻辑非运算符:~按位取反运算符:++前缀增量运算符:--前缀减量运算符:+正号运 ...

最新文章

  1. 申请MVP成功,发贴祝贺!
  2. ASP.NET跨页面传值(二)
  3. 我发现了pandas的黄金搭档!
  4. 程序员的进化(目前还看不懂)
  5. GridView控件RowDataBound事件中获取列字段值的几种途径
  6. 5个数中取三个数组合 不重复 php,PHP产生不重复随机数的5个方法总结
  7. Robotium导入被测源码遇到问题 had used a different Landroid/support/v4/view/ViewPager
  8. 慢雾安全工程师:安全审计是目前保护 DeFi 项目安全最高性价比的方式
  9. dede首页如何调用单页文档内容标签
  10. 【codeforces 496E】Distributing Parts
  11. 李佳琦618直播清单都在这张思维导图上了
  12. Ubuntu16.04 安装Teamviewer
  13. BIM族库下载——Revit管道卡箍连接族
  14. BAT批处理脚本实例学习(三)清理系统垃圾
  15. matlab clc,close,close all,clear,clear all,clf 作用区别
  16. 获取“今日头条”西瓜视频
  17. android安装nodejs6,使用安卓手机搭建node-red
  18. LARS Lasso
  19. php表格制作4行两列的表格,excel表格怎么插行和列?
  20. ksy是谁_sky为什么叫人皇:sky是谁及资料

热门文章

  1. swiftui_SwiftUI的混合包
  2. 谷歌抽屉_Google(最终)会杀死导航抽屉吗?
  3. Java行为参数化(一)
  4. [环境搭建]SDN网络感知服务与最短路径应用
  5. 光伏发展路线图将发布 促产业优胜劣汰
  6. 《视图更新与关系数据库理论》——2.1 关系和关系变量
  7. Problem C: 类的初体验(III)
  8. [javaEE] JDBC快速入门
  9. mysql数据库服务器设置访问权限
  10. 你的网页加载太慢了怎么办?