由逻辑异或运算符而发现的PHP诡异运算符优先级
生活随笔
收集整理的這篇文章主要介紹了
由逻辑异或运算符而发现的PHP诡异运算符优先级
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PHP的邏輯運算符中,xor表示邏輯異或
$a xor $b結果
如果 $a 和 $b 有且僅有一個為 true,則返回 true;如果都是true 或 false,則返回false。然而在測試xor運算符時,發現一點問題
錯誤情況1
結果1
boolean false情況2
<?php$a = true xor false;var_dump($a); ?>結果2
boolean true這是怎么回事呢?
我們換個測試xor運算符的方式
情況3
結果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诡异运算符优先级的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos安装kvm
- 下一篇: 重要的ui组件——Behavior