首页 > 解决方案 > 如何解释大于零的php空数组?

问题描述

当我试图确定一个空数组是否大于 0,但返回 true 时。为什么php空数组大于0?

$a = [];
if (is_array($a) && count($a) > 0) {
    die('array');
} elseif ($a > 0) {
    die('ok');
}

它的输出'ok',谁能告诉我这是为什么?

标签: php

解决方案


http://php.net/manual/en/language.operators.comparison.php根据 php 文档,当与数组以外的array任何其他比较时,总是被认为更大。这就是比较的定义方式。我的猜测是,当比较两个可能是任何类型的变量时,比较规则会强制数组为任何其他类型。typearrayunequal


推荐阅读