Tag: 或运营商

PHP中的or运算符的行为

我试图了解or运营商的行为。 请看下面的例子: $e = false || true; var_dump($e); 输出如预期: bool(true); $f = false or true; var_dump($f); 输出如预期: bool(false) 。 我以某种方式理解了这一点,即=具有比Or更高的优先级,所以这就是$f被赋值为false 。 但是下面的代码和我想的完全相反。 我以为$foo将被分配到5 ,然后比较自己。 但$foo只有在$foo被设置的情况下才被赋值,这意味着它正在检查$foo是否被赋值给任何东西,并赋值5。 $foo or $foo = 5; 任何人都可以解释为什么这样吗?