Суммирование значения ключа массива в цикле

Рейтинг: 1Ответов: 1Опубликовано: 01.10.2014

У меня есть некий результат 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 // Только время последней активности, не их сумму для пользователя
                    )

            )

    )

Как суммировать активность для каждого пользователя и каждой активности в цикле?

Ответы

▲ 1

Если проблема в том, чтоб перевести из массива в JSON: json_encode.

Если вопрос в другом, уточните.