Это типичный случай для сокращения массива данных в требуемую сводку.
$data = array(
array('name' => '2009-10-23', 'values' => array('INzY2MTI4ZWM4OGRm')),
array('name' => '2009-10-26', 'values' => array('IYmIzOWNmMmU3OWQz')),
array('name' => '2009-11-23', 'values' => array('INTg4YzgxYWU1ODkx', 'IMjhkNDZkY2FjNDhl')),
array('name' => '2009-11-24', 'values' => array('INTg4YzgxYWU1ODkx', 'INTg4YzgxYWU1ODkx')),
array('name' => '2009-12-01', 'values' => array('IMWFiODk5ZjU1OTFk'))
);
function count_by_month($reduced, $current) {
$month = date('F Y', strtotime($current['name']));
if ( ! isset($reduced[$month])) {
$reduced[$month] = 0;
}
$reduced[$month] += count($current['values']);
return $reduced;
}
// Take the data array and return an array of
// month (key) and transaction count for that month (value)
$counts = array_reduce($data, 'count_by_month');
print_r($counts);