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

标签 php arrays

我有一个 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/

相关文章:

c# - 如何在列表 C# MVC 中检索特定值

php - PHP脚本创建损坏的SQLite数据库

ios - 如何为注释创建一个数组

C:函数未返回正确的值

php - Laravel 关系列 'id' in where 子句有歧义

Javascript 和非常长的字符串

arrays - Swift:如何定义固定数组灵活的String数组

javascript - 子域 CSS 和 JS 文件问题

php - 在 PHP 中发送数组中的多个文本字段

php - 循环下拉,如何选择值?