和和之间的区别

时间:2013-07-15 17:06:11

标签: boolean

我的问题与运营商有关。今天我研究了运营商。有困惑。在PHP中,“或”和“xor”之间有什么区别。我知道它们都与布尔表达式有关。但找不到原来的差异。

任何人都应该帮助更清楚地理解它。

6 个答案:

答案 0 :(得分:40)

它与mutual exclusion有关。 xor是独家的。 or具有包容性。

真值表比较

$x $y ($x or $y) ($x xor $y)
0  0    0          0
1  0    1          1
0  1    1          1
1  1    1          0

注意:最后一种情况的区别。当xor$x为真时,$y只有 true ,而不是两者都是or

答案 1 :(得分:12)

xor表示“独占或”。也就是说,它是或者,但是如果单个更改,如果操作的两个参数都为真,则答案是错误的。

A xor B == (A or B) && !(A and B)

答案 2 :(得分:10)

差异在于输入偶数1(或真):

true or  true = true
true xor true = false

true or  true or  true = true
true xor true xor true = true

true or  false or  true = true
true xor false xor true = false

OR的真实表:

  in1  |  in2  | out
-------|-------|-----
   0   |   0   |  0
   0   |   1   |  1
   1   |   0   |  1
   1   |   1   |  1

XOR真相表:

  in1  |  in2  | out
-------|-------|-----
   0   |   0   |  0
   0   |   1   |  1
   1   |   0   |  1
   1   |   1   |  0

答案 3 :(得分:3)

另一种方式: OR 可以看作 AND / OR 连接器。一个或两个选择可以是真实的或选择的。另一方面,XOR可以被描述为“真正的”OR。两种选择中只有一种可以是真实的(或选择的)。

答案 4 :(得分:2)

一个是独家的或 - > xor,另一个是或表示在真值表中满足至少一个条件。或者不相互排斥,xor是。

答案 5 :(得分:0)

在此处输入图片说明 enter image description here

xor是排他的。或包含在内