只汇总PHP数组中的正数

时间:2014-09-28 12:21:34

标签: php arrays add

首先,感谢您查看我的问题。

我只想使用if,else语句将$ number中的正数加起来。

$numbers = array (1, 8, 12, 7, 14, -13, 8, 1, -1, 14, 7);

$total = 0;

if ($numbers < 0 {
    $numbers = 0;
}
elseif (now i want only the positive numbers to add up in the $total.)

我是一名初中学生,我正在努力理解逻辑。

2 个答案:

答案 0 :(得分:4)

我不会给出直接的答案,但是这里的方法是你需要一个简单的循环,可以是for或foreach循环,所以每次迭代你只需要检查循环中的当前数字是否大于零。

示例:

$numbers = array (1, 8, 12, 7, 14, -13, 8, 1, -1, 14, 7);
$total = 0;
foreach($numbers as $number) { // each loop, this `$number` will hold each number inside that array
    if($number > 0) { // if its greater than zero, then make the arithmetic here inside the if block
        // add them up here    
        // $total 
    } else {
       // so if the number is less than zero, it will go to this block
    }
}

或者正如迈克尔在评论中所说,一个功能也可以用于此目的:

$numbers = array (1, 8, 12, 7, 14, -13, 8, 1, -1, 14, 7);
$total = array_sum(array_filter($numbers, function ($num){
    return $num > 0;
}));
echo $total;

答案 1 :(得分:2)

$numbers = array (1, 8, 12, 7, 14, -13, 8, 1, -1, 14, 7);

$total = 0;

foreach($numbers as $number)
{
  if($number > 0)
    $total += $number;
}

这循环遍历数组的所有元素(foreach =对于数组中的每个数字)并检查元素是否大于0,如果是,则将其添加到$total