32

私の質問はオペレーター関連です。今日はオペレーターについて勉強しました。混乱している。PHP では、「または」と「xor」の違いは何ですか。どちらもブール式に関連していることは知っています。しかし、元の違いを見つけることができません。

誰でもそれをより明確に理解するのを手伝ってください。

4

6 に答える 6

59

それは相互排除と関係があります。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

注:最後のケースの違い。は、 または のいずれかが true の場合にxorのみtrueであり、両方ではありません ( の場合)。$x$yor

于 2013-07-15T17:08:36.200 に答える
17

xor は「排他的または」を意味します。つまり、or ですが、操作に対する両方のパラメーターが true の場合、答えは false になるという 1 つの変更があります。

A xor B == (A or B) && !(A and B)
于 2013-07-15T17:12:13.920 に答える
5

別の言い方をすると、ORはAND/ORコネクタと見なすことができます。1 つまたは両方の選択肢が真または選択されます。一方、XOR は「本当の」OR として説明できます。両方の選択肢のうち 1 つだけが true (または選択) になります。

于 2015-06-23T13:29:38.097 に答える
2

1 つは排他的な or -> xor であり、もう 1 つは or であり、真理値表で少なくとも 1 つの条件が満たされることを意味します。or は相互に排他的ではなく、xor は相互に排他的です。

于 2013-07-15T17:14:13.320 に答える