Boolean/PHP:为什么"bool(1)> $ v"导致NULL?

Pet*_*ang 1 php boolean

在Toptal上看到这个问题并且有点困惑:

$v = 1;
$m = 2;
$l = 3;

if ($l > $m > $v) {
    echo "yes";
}
else {
    echo "no";
}
Run Code Online (Sandbox Code Playgroud)

我明白为什么答案是"不",但他们的推理对我来说有点混乱:

首先,$l > $m将评估哪个产生布尔值为1true.将该布尔值与整数值1(即bool(1) > $v)进行比较将导致NULL,因此输出将为"否".

为什么bool(1) > $v变得nullundefinedfalse

Lig*_*ica 7

它没有.true > 1false(因为它们相反"相等").

此外,整个程序将不会运行,因为"双条件"是一个解析错误.

你读的答案是错的.

这就是为什么你不应该在互联网上接受随机陌生人的建议.包括我.;)