PHP 的 or
是一个奇怪的关键字。这是一个让我感到困惑的代码片段:
echo 0 or 1; // prints 1
$foo = (0 or 1);
echo $foo; // prints 1
$foo = 0 or 1;
echo $foo; // prints 0 for some reason
为什么最后一个打印的是0而不是1?
最佳答案
这是因为不同的运算符优先级。在第三种情况下,首先处理赋值。它将被解释为:
($foo = 0) or 1;
||
运算符有不同的优先级。如果你使用
$foo = 0 ||1;
它将如您所愿地工作。
关于php - PHP中 "or"的奇怪做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3414504/