带有数字 PHP 的 if 语句中的逻辑

Logic in if statement with numbers PHP

谁能解释一下这里发生了什么:

if(2 && 5 < 4)

如果我有例如

$x = 2 && 3;

和 var_dump($x) 无论数字是什么,它都会给出 boolean(true)。 但是这里看起来数字是和4一个一个比较的。

查看 PHP 比较 table for PHP http://php.net/manual/en/types.comparisons.php

对于整数,除 0 以外的数字 returns 比较正确。

if (2 && 5 < 4) => if (true && false) => false

$x = 2 && 3 = 1 && 1 = 1

因为如果一个变量有一个整数值,true会因为类型转换而变成1