Почему получаю ошибку Warning: Undefined variable при суммировании в цикле?

Доброго времени суток. Есть задача все значения из $zapros['bids'] суммировать и вывести результат, сумму всех значений. Делаю так:
$bidsall;

    for ($i = 0; $i < count($zapros['bids']); $i++) {
        $bidsall += $zapros['bids'][$i][1] . "<br>";
    }
    
    echo $bidsall;

Получаю в итоге сумму, но при это ещё вдобавок ошибку Warning: Undefined variable. Как её убрать ? я же объявляю переменную ДО.
Если объявить переменную так $bidsall = 0; или так global $bidsall; Тогда выдаст Warning: A non-numeric value encountered in

Данные в массиве $zapros['bids'][$i][1] вот такого вида: 403.40000000, 4800.00000000, 24085.90000000 и т.д.
Мне их просто нужно сложить все между собой и чтобы ошибок не было :)
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
сложение числа += со строкой (операция точка . )
$bidsall += $zapros['bids'][$i][1] . "<br>"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Во первых - не ошибку, а предупреждение, а во вторых - читайте полностью, а не только кусочек предупреждения.
в третьих - то что вы ее написали не есть объявление, то есть $bidsall у вас все равно null, а по уму должно быть 0.

Если объявить переменную так $bidsall = 0;
То все будет ок

Тогда выдаст Warning: A non-numeric value encountered in
Который тоже надо читать полностью, и скорее всего относится к значениям, которые вы складываете, а не к этой переменной. Кастуйте через floatval();

И зачем у вас там br? Вы складываете или соединяете?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы