private function collectMostVisitedPagesData($startDate, $endDate) { $sourceGraphData = $this->getAnalyticsData($startDate, $endDate, 'ga:pageviews', array('dimensions' => 'ga:pagePath', 'sort' => '-ga:pageviews', 'max-results' => 20)); // make sure our column headers are the metric names, not just numbers $namedRows = array(); foreach ((array) $sourceGraphData['rows'] as $dataRow) { $namedRow = array(); foreach ($dataRow as $key => $value) { $headerName = $sourceGraphData['columnHeaders'][$key]['name']; $namedRow[str_replace(':', '_', $headerName)] = $value; } $namedRows[] = $namedRow; } return $namedRows; }