1

我想知道是否有内置的或更好的方法来测试数组的所有元素是否为空。

这是我的(工作)解决方案:

<?php
    function cr_isnull($data_array){    
        foreach($data_array as $value){ 
            if(!is_null($value)){return false;}
        }
    return true;
    }
?>

解释:

  • 如果函数在数组中找到任何非 null 值,则返回 false,否则在“循环”所有数组元素后返回 true。

我不能使用 empty() 因为我对空的定义不符合 PHP 的定义。

有什么想法,还是我适合我所拥有的?

4

1 回答 1

4
count(array_filter($myarray,'is_null')) == count($myarray);

或者

array_reduce($myarray,
             function($result,$value) {
                 return $result && is_null($value);
             },
             TRUE
);
于 2013-02-07T17:47:41.450 回答