我有一个 PHP 数组。
假设
$array = array(20,1,0, 0, 0,0,8);
我需要检查数组中是否至少有两个值大于 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
我想知道是否有任何简单的方法可以在不循环遍历数组的情况下完成此操作。
谢谢。
最佳答案
您可以使用 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";
注意:对于不支持匿名函数的旧 PHP 版本,您需要单独创建函数并将其名称作为字符串传递给 array_filter()
函数。
关于php检查数组中至少有两个大于0的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9461727/