Суммирование значения ключа массива в цикле
У меня есть некий результат sql-запроса.
Мне нужно получить в итоге json следующего вида:
[{
activity_type:'Develoement',
spent_time:[
{user:'User1', time:'21'}, // (!) amount of time for this user and this activity
{user:'User2', time:'2'},
],
total_spent_time: 23
},{
activity_type:'Design',
spent_time:[
{user:'User', time:'14'},
],
total_spent_time: 14
}]
Вот цикл обработки sql-запроса:
while($row = $result->fetch_assoc()){
$data[$row['activity_type']] = array('spent_time' =>
array('user' => (object)$row['user']));
$data[$row['activity_type']]['spent_time']['user']->time += $row['spent_time'];
}
Но в итоге я получаю:
[Design] => Array
(
[spent_time] => Array
(
[user] => stdClass Object
(
[scalar] => John
[time] => 1.5 // (!) Только время последней активности, не их сумму для пользователя
)
)
)
[Developement] => Array
(
[spent_time] => Array
(
[user] => stdClass Object
(
[scalar] => Nick
[time] => 0.3 // Только время последней активности, не их сумму для пользователя
)
)
)
Как суммировать активность для каждого пользователя и каждой активности в цикле?
Источник: Stack Overflow на русском