有比这更简单的方法吗?
$isArrayEmpty = true;
foreach ($array as $value) {
if (!empty($value)) {
$isArrayEmpty = false;
}
}
似乎有点多余。
答案 0 :(得分:6)
<德尔> $isArrayEmpty = empty( array_filter( $array ) );
德尔>
修改强>
如评论中所述,上述表达式不起作用 - 它将引发致命错误。这是因为empty
只能对变量进行操作,而不能对函数(或语言结构)的返回值进行操作
因此,etarion以我的答案的同一精神提出了正确答案:
$isArrayEmpty = !array_filter( $array );
答案 1 :(得分:1)
以下是使用array_reduce
执行此操作的一种方法:
$isArrayEmpty = array_reduce($array, function($acc, $e) { return $acc && empty($e); }, true);
答案 2 :(得分:1)
break
即可。
我甚至会说你现在的方法是最好的,只要保留它。
对于频繁使用,您可以将其包装在函数
答案 3 :(得分:0)
$foo = implode('', $array);
$isArrayEmpty = empty($foo);
答案 4 :(得分:-1)
你能不能......
if(empty($array)) { //do this }