Задачка по php

dima887

Новичок
Помогите решить задачку, никак не пойму

Дан массив целых чисел. Найдите сумму всех элементов массива до элемента со значением 0.

$array = [10, 5, 8, -1, 7, 0, 9]; //данные в массиве получены пользователем с консоли

У меня получается только обрезать массив до 0, а дальше как не пойму, или я уже не правильно делаю?
$array = stream_get_line(STDIN, 1024, PHP_EOL);
$a = explode(' ', $array);
foreach ($a as $value) {
if ($value == 0) break;
echo $value. " "; // 10 5 8 -1 7
}
 

weregod

unserializer
вообще с логикой плохо? переменную до цикла заведи и в неё значения из массива плюсуй
 

Valick

Новичок
dima887, обычно если это задачка, то решение подразумевает отказ от использования штатных средств работы с массивами. Но в данном случае я вижу не задачку, а проблемку. Проблемку с изучением этих самых штатных функций для обработки массивов https://www.php.net/manual/ru/function.array-change-key-case.php надо знать их все.

$array = [10, 5, 8, -1, 7, 0, 9];
$result = array_sum(array_slice($array, 0, array_search(0, $array)));
echo $result;
 

Фанат

oncle terrible
Команда форума
обычно если это задачка
Да нет, здесь именно что базовое изучение циклов

Дима, тебе сначала надо упросить задачку.
Если ты вообще не умееь работать с циклами, то сначала решай задачу без всяких обррезаний.
просто найти сумму всех элементов цикла. Попробуй решить её хоть как-то и показать что придумал.
Оператор суммирования в РНР тот же самый что и в учебнике - знак +
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Вы тут умничаете, а человеку тестовое задание нужно сдать!
 

dima887

Новичок
dima887, обычно если это задачка, то решение подразумевает отказ от использования штатных средств работы с массивами. Но в данном случае я вижу не задачку, а проблемку. Проблемку с изучением этих самых штатных функций для обработки массивов https://www.php.net/manual/ru/function.array-change-key-case.php надо знать их все.

$array = [10, 5, 8, -1, 7, 0, 9];
$result = array_sum(array_slice($array, 0, array_search(0, $array)));
echo $result;
Понял, спасибо, но в данном случае надо было решить именно так как написал weregod.
 

weregod

unserializer
dima887, обычно если это задачка, то решение подразумевает отказ от использования штатных средств работы с массивами. Но в данном случае я вижу не задачку, а проблемку. Проблемку с изучением этих самых штатных функций для обработки массивов https://www.php.net/manual/ru/function.array-change-key-case.php надо знать их все.

$array = [10, 5, 8, -1, 7, 0, 9];
$result = array_sum(array_slice($array, 0, array_search(0, $array)));
echo $result;
не раздавайте рыбу )))
 

Valick

Новичок
Ребята, вы слишком много думаете, там где думать не надо. И прежде чем кого-то в чём-то уличать поправляйте бревно, чтоб не мешало :)
 
Сверху