我有下面的代码

<?php

$error = array();
$error['something'] = false;
$error['somethingelse'] = false;

if (!empty($error))
{
    echo 'Error';
}
else
{
    echo 'No errors';
}

?>

然而,empty($error)仍然返回true,即使什么都没有设置。

哪里不对?


当前回答

你也可以通过。

if(count($array) > 0)
{
    echo 'Error';
}
else
{
    echo 'No Error';
}

其他回答

<?php
if(empty($myarray))
echo"true";
else
echo "false";
?>

Hi数组是一个对象,所以它是空类型或空白

   <?php
        if($error!=null)
            echo "array is blank or null or not array";
    //OR
       if(!empty($error))
           echo "array is blank or null or not array";
    //OR
     if(is_array($error))
           echo "array is blank or null or not array";
   ?>

函数empty()对测试空数组不起作用! 例子:

$a=array("","");
if(empty($a)) echo "empty";
else echo "not empty"; //this case is true

函数是必要的:

function is_array_empty($a){
foreach($a as $elm)
if(!empty($elm)) return false;
return true;
}

好吧,这是一个非常老的问题:),但我发现这个帖子在寻找一个解决方案,我没有找到一个好的。

再见 (英语不好意思)

然而,empty($error)仍然返回true,即使什么都没有设置。

这不是empty()的工作方式。根据手册,它只在空数组上返回true。其他的都说不通。

试着用sizeof检查它的大小,如果0没有元素。