PHP xor 关键词
定义和用法
xor 关键字是一个逻辑运算符。
逻辑运算符用于组合条件语句。
只有当其中一个语句为真,而另一个为假时,返回值才为 true。
注意:此运算符的优先级低于赋值运算符,这可能会导致混淆的结果。将表达式放在括号中以避免意外结果。
相关页面
教程:PHP 运算符
实例
例子 1
仅当其中一个表达式为真时输出消息:
<?php
if(5 < 3 xor 5 < 10) {
echo "只有一个表达式为真";
}
?>
在此例中,if 语句使用 xor 运算符来检查两个条件中是否只有一个为真。因为 5 < 3 是假,而 5 < 10 是真,所以 xor 运算的结果为真,因此会输出消息 "只有一个表达式为真"。
例子 2
显示优先级的差异:
<?php $result1 = true xor true; echo "true xor true = "; echo $result1 ? "true" : "false"; echo "<br>"; $result2 = (true xor true); echo "(true xor true) = "; echo $result2 ? "true" : "false"; ?>
在此例中,展示了 xor 运算符的优先级问题。在没有括号的情况下,$result1 = true xor true; 实际上被解释为 ($result1 = true) xor true;,因为赋值运算符 = 的优先级高于 xor。这导致 $result1 被赋值为 true,然后执行 true xor true,结果为假,但 $result1 的值已经为 true,所以输出的是 "true xor true = true",这可能会让人困惑。而在有括号的情况下,(true xor true) 先被计算,结果为假,所以 $result2 被赋值为假,输出的是 "(true xor true) = false",这符合 xor 运算符的预期行为。