所以我刚刚开始学习 PHP,我遇到了一个我不太理解的部分。
这本书给了我三行。
&& and true && true=true, every other combination results in false.
|| or false || false=false, every other combination results in true.
XOR or false XOR true=true, every other combination results in false.
如果有人能澄清这意味着什么,我将非常感激。
编辑
以下是我之前部分的文字。
每个方程都会产生一个值:true(1) 或 false(0)。
echo true + true + false
结果为 2 (1 + 1 + 0)。
最佳答案
那里提到了三个 boolean 运算符:&&
(逻辑与)、||
(逻辑或)和XOR
(嗯,它是逻辑异或,或“异或”)。所有这些都是二进制的 - 它们需要两个操作数。显然,它的结果是一个 boolean 值 - 要么 true
要么 false
。
现在,它们的功能如下:
&&
仅当其操作数的计算结果均为true
时才会得出true
,否则结果将为假
||
仅当其操作数的计算结果均为false
时才得出false
,否则结果将为是真实
XOR
如果其操作数计算结果为相同值(无论是true
或false
),则结果为false
,没关系。但如果一个操作数的计算结果为false
,另一个操作数的计算结果为true
,则结果为true
。
现在,关于你问题的第二部分:这......
echo true + true + false;
...与 boolean 代数没有任何关系。 +
的所有操作数首先按照 Type Juggling 中描述的规则转换为数字类型。 PHP 文档的部分。简而言之,true
转换为1
,false
转换为0
;结果 - 1 + 1 + 0
或 2
被打印出来。
关于php - 学习 PHP、 boolean 代数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22793209/