2011-01-28 47 views

回答

1

不,这不是多余的。这是完全合法的方式。这段代码没什么不好。只需添加break即可。

我甚至会说你目前的做法是最好的,只是保持它。
频繁使用,你可以在一个功能

6

$isArrayEmpty = empty(array_filter($array));

编辑 正如评论指出,上述表达式将无法正常工作 - 它会抛出一个致命的错误。这是因为empty可变量etarion在我的回答同样的精神提出了正确的答案只能操作,而不是一个函数的返回值(或语言结构)

所以是:

$isArrayEmpty = !array_filter($array); 
+0

当我在一些文件中看到这样的代码,我会疑惑它有什么作用。只写代码令人厌恶 – 2011-01-28 08:57:00

+2

@ Col.Shrapnel:好吧,你永远不会看到它,因为它不会工作。 `empty`对变量进行操作,而不是表达式。但是,`$ isArrayEmpty =! array_filter($ array);`是完全有效的,如果你对它做了什么感到困惑,你应该查看array_filter是做什么的,因为它是为了这个确切目的而做的。 – etarion 2011-01-28 09:12:44

1

这里的使用array_reduce做的一种方式:

$isArrayEmpty = array_reduce($array, function($acc, $e) { return $acc && empty($e); }, true); 
0
$foo = implode('', $array); 
$isArrayEmpty = empty($foo); 
-1

把它包起来你就不能......

if(empty($array)) { //do this } 
相关问题