Прежде всего, спасибо за просмотр моего вопроса.
Я только хочу сложить положительные числа в числах $, используя оператор if, else.
$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.)
Я учусь на первом курсе и пытаюсь понять логику.
$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
Я не буду давать прямой ответ, но в данном случае вам нужен простой цикл, может быть цикл 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;