Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Добрый день! Помогите пожалуйста разобраться.
В цикле перебираю массив результатов от запроса и формирую свой массив с заданной структурой.
В результате много однотипных данных вроде id,date, у кортежей с одинаковыми id и date много разных значений sum, поэтому складываю их таким образом:
$res = $db->query($qry, PDO::FETCH_ASSOC);
foreach ($res as $row) {
$chart[$id]['message'][$date]=$row['message'];
$chart[$id]['allsum'][$date]+=$row['sum']; // Тут получаю ошибку: Undefined index: 'allsum'
}
Проверяю возможность заполнения массива:
foreach ($res as $row) {
$chart[$id]['message'][$date]=$row['message'];
$sum+=$row['sum']; //вся сумма в одну переменную
$chart[$id]['allsum'][$date]=$sum; // Тут ошибки нет
}
Пробую так:
foreach ($res as $row) {
$chart[$id]['message'][$date]=$row['message'];
$sum[$id][$date]+=$row['sum'];
$chart[$id]['allsum'][$date]= $sum[$id][$date]; // Тут получаю ошибку: Cannot use a scalar value as an array
}
Проверил эту часть в скрипте вне laravel - ошибок не возникает.
Как исправить проблему?
Какая-то переменная числовая или null, а используется в качестве массива (возможно, $sum ($sum[$id][$date])).
Покажите код, где инициализируются переменные $sum и $chart.
Не в сети