<?php $events[] = array('Time' => 1000, 'Area' => 360); $events[] = array('Time' => 100, 'Area' => 100); $events[] = array('Time' => 100, 'Area' => 100); $events[] = array('Time' => 100, 'Area' => 100); $sum_datas = array(); foreach ($events as $event) { $area = (string) $event['Area']; if (empty($sum_data["$area"])) {$sum_data["$area"] = 0;} $sum_datas["$area"] += $event['Time']; } $output_data = array(); foreach ($sum_datas as $key => $value) { $output_data[] = array('y' => $key, 'time' => $value); } var_dump($output_data);