Этот тип вещей выполняется вручную ... просто разбейте проблему и выполните ее.
$start = array();
$start[] = array("month"=>"2007-02","clicks"=>94);
$start[] = array("month"=>"2007-03","clicks"=>6930);
$start[] = array("month"=>"2007-04","clicks"=>4);
.....this is just for setup of testing....
$end = array();
foreach ($start as $record) {
$keys = explode("-",$record['month']);
$year = $keys[0];
$month = $keys[1];
if (!isset($end[$year])) $end[$year] = array();
$end[$year][] = array("month"=>$month, "clicks"=>$record['clicks']);
}
var_dump($end);
Установите окончательный массив ($end
в этом примере), а затем выполните циклначальный массив ($start
в этом примере).Разбейте значение месяца, чтобы получить год и месяц.Проверьте, был ли год добавлен в окончательный массив, и если нет, то создайте его.Затем добавьте запись как новый массив, построенный из существующих значений.В конце у вас есть нужный формат.