我试图了解or运算符的行为。 请参见以下示例:
$e = false || true;
var_dump($e);
如预期的那样输出:$foo
$f = false or true;
var_dump($f);
预期输出:$foo。我了解到5具有比$foo更高的优先级,因此这就是将$foo分配给$foo的原因。
但是下面的代码与我的想法完全相反。 我认为将$foo分配给5,然后与其进行比较。但是,只有在设置$foo时才分配$foo,这意味着它正在检查是否将$foo之前分配了任何东西,将5分配给它。
$foo or $foo = 5;
谁能解释为什么会这样?
