由逻辑异或运算符而发现的PHP诡异运算符优先级
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诡异运算符优先级相关推荐
- 逻辑同或,逻辑异或,逻辑与,逻辑或
一.逻辑异或 真⊕假=真 假⊕真=真 假⊕假=假 真⊕真=假 或者为: True ⊕ False = True False ⊕ True = True False ⊕ False = False Tr ...
- 使用线性神经网络实现逻辑与和逻辑异或(一)
线性神经网络在结构上与感知器网络非常相似,只是神经元传输函数不同.线性神经网络的结构如图1所示: 线性神经网络只能实现线性运算,这一点与单层感知器比较类似,因此线性神经网络也只能用于解决比较简单的问题 ...
- 快速记住二进制的逻辑与、逻辑或、逻辑非、逻辑异或运算规则
逻辑与 (&&) :两者值都为1才取1,否则为0 逻辑或 ( || ) :只要有1就取1,否则为0 逻辑非 ( ! ) :若是0,则取1,若是1,则取0 逻辑异或 (⊕) ...
- 逻辑异或(XOR或EOR或⊕) / 逻辑与非(谢费尔竖线,Not AND,常缩写为NAND) / 逻辑或非(NOR) (网络搜集整理)
逻辑与是两个逻辑变量的一种运算,经常是两个命题的运算.它满足:当且仅当其两个变量的真值都为真时,其结果为真 也写作AB(逻辑学),A && B(计算机科学),或AB(电子学) 逻辑或是 ...
- 刘帅嵌入式系统-EOR逻辑异或操作指令
EOR指令将< shifter_operand > 表示的数值与寄存器< Rn >值按位做逻辑异或操作,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果 ...
- Java逻辑操作符——逻辑非、逻辑与、逻辑或和逻辑异或
先上一段java代码,通过具体例子来理解抽象概念 public class 布尔值 {public static void main(String[] args) {boolean 逻辑非的值_测试1 ...
- PHP运算符种类很多 主要有,PHP运算符的类别概览
PHP作为我们开发网站时经常用到的语言之一,它的功能是非常强大的.我们知道,PHP和其他的语言其实大致上是一样的,它也有自己的运算符.今天就向大家介绍一下PHP运算符的种类,帮助大家了解. PHP运算 ...
- javascript运算符_JavaScript中的按位运算符
javascript运算符 JavaScript按位运算符 (JavaScript Bitwise Operators) A lot of times you come across some str ...
- c语言 正号运算符 作用,C语言中,哪些运算符具有左结合性,哪些具有右结合性,帮忙总结下,...
1级(左结合) () 圆括号:[]下标运算符:->指向结构体成员运算符:. 结构体成员运算符. 2级(右结合) !逻辑非运算符:~按位取反运算符:++前缀增量运算符:--前缀减量运算符:+正号运 ...
最新文章
- 申请MVP成功,发贴祝贺!
- ASP.NET跨页面传值(二)
- 我发现了pandas的黄金搭档!
- 程序员的进化(目前还看不懂)
- GridView控件RowDataBound事件中获取列字段值的几种途径
- 5个数中取三个数组合 不重复 php,PHP产生不重复随机数的5个方法总结
- Robotium导入被测源码遇到问题 had used a different Landroid/support/v4/view/ViewPager
- 慢雾安全工程师:安全审计是目前保护 DeFi 项目安全最高性价比的方式
- dede首页如何调用单页文档内容标签
- 【codeforces 496E】Distributing Parts
- 李佳琦618直播清单都在这张思维导图上了
- Ubuntu16.04 安装Teamviewer
- BIM族库下载——Revit管道卡箍连接族
- BAT批处理脚本实例学习(三)清理系统垃圾
- matlab clc,close,close all,clear,clear all,clf 作用区别
- 获取“今日头条”西瓜视频
- android安装nodejs6,使用安卓手机搭建node-red
- LARS Lasso
- php表格制作4行两列的表格,excel表格怎么插行和列?
- ksy是谁_sky为什么叫人皇:sky是谁及资料