php检查数组中至少有两个大于0的值

Pra*_*sha 2 php arrays

我有一个PHP数组.

让我们说吧

$array = array(20,1,0, 0, 0,0,8);
Run Code Online (Sandbox Code Playgroud)

我需要检查数组中是否至少有两个值可用大于0.举个例子.

$array = array(20,1,0, 0, 0,0,8); 
// True - Above array has at least two values which is > 0

$array = array(0,9,0, 0, 0,0,0); 
// False- Above array doesn't have at least two values which is > 0
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何简单的方法可以在不循环数组的情况下完成此操作.

谢谢.

Sal*_*n A 10

您可以使用array_filter()将数组减少到非零项目,然后计算它们:

$array = array(20, 0, 0, 0, 0, 0, 0);
$temp = array_filter($array, function($value){
    return $value > 0;
});
echo count($temp) >= 2 ? "true" : "false";
Run Code Online (Sandbox Code Playgroud)

注意:对于不支持匿名函数的旧版PHP,您需要单独创建函数并将其名称array_filter()作为字符串传递给函数.