为什么array()> int计算为true?

时间:2019-07-04 06:34:12

标签: php arrays

调试一些代码时,我发现了类似的情况,其中检查数组的值是否大于2。由于代码是这样的东西(不是真实的示例),所以始终求值为true

['key'=>'value']> 2 //评估为true。

我开始进行挖掘,事实证明,在php中,以下内容是正确的:

php > var_dump([] > 1);
bool(true)
php > var_dump([] > 0);
bool(true)
php > var_dump([] > 10000);
bool(true)
php > var_dump(array() > 100);
bool(true)

为什么将其评估为true? 我在nodejs上有更多的经验,这将有完全不同的行为,但似乎更合乎逻辑,例如在js中,以下为真[] == 0 这是错误的[] > 1

0 个答案:

没有答案