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 运算符的预期行为。