运行下面的代码,第一个 $bool 将打印为 false ,预期如此,但是第二个 $bool 将打印 true 。这是因为 = 的优先级高于 and 运算符,所以,第二个 b o o l 将 会 被 当 成 ( bool 将会被当成 ( bool将会被当成(bool = true) and false 执行。
<?php
$bool = true && false;
// false
var_dump($bool);
$bool = true and false;
// true
var_dump($bool);
所以 && > = > and
来源: https://www.php.net/manual/zh/language.operators.precedence.php#117390