JS 与 PHP:与逻辑或
(PHP 具有 和 。JS 只有 .)||
OR
||
新浪网.根据MDN具有比更高的优先级。所以这不起作用:||
=
a || a = 1;
因为它被评估为:
(a || a) = 1;
这将导致“分配中的左侧无效”。我理解这一点。这是有道理的。
菲律宾比索。根据 PHP.net 它对PHP的工作原理相同:在.但是,我一直在使用它:||
=
$a || $a = 1;
为什么它在PHP中工作??最重要的是:PHP的优先级低于 ,所以这些不应该做同样的事情:OR
=
$a || $a = 1;
$a OR $a = 1;
但他们确实...https://3v4l.org/UWXMd
我认为JS根据MDN的表工作,PHP的工作就像PHP的表一样,但PHP不应该像它那样工作。||
OR
||
这是另一个奇怪的PHP怪癖吗?
该手册还提到了这一点:
尽管 PHP 的优先级低于大多数其他运算符,但 PHP 仍将允许类似于以下内容的表达式:,在这种情况下,的返回值将放入 。
=
if (!$a = foo())
foo()
$a
优先级表规定 PHP 应该计算 ,这没有意义,应该失败,但 PHP 将其计算为 ,因为它喜欢异常。(!$a) = foo()
!($a = foo())
后续问题:你认为这有什么作用?https://3v4l.org/3P2hN我不明白...我确实理解第二种和第三种情况(与),只是不理解第一种情况下发生的事情。if ( $d = $c && $e = $b && $f = $a )
and