private static function getAdditionalDemograficStatistics($mongoData, $fromDate, $toDate) { $days = (strtotime($toDate) - strtotime($fromDate)) / (60 * 60 * 24) + 1; $res = MongoUtils::initDemograficStats(); for ($i = 0; $i < count($mongoData); $i++) { foreach (PseudoStatsModel::$demografics as $demo => $mongoDemoKey) { if (isset($mongoData[$i][$demo])) { foreach (PseudoStatsModel::getDemograficsKeys($demo) as $key) { $res['total'][$demo][$key] += $mongoData[$i][$demo][$key]; } } } } foreach (PseudoStatsModel::$demografics as $demo => $mongoDemoKey) { $res['total'][$demo]['all'] = array_sum($res['total'][$demo]); } // generate age, gender and relationship ratios foreach (PseudoStatsModel::$demografics as $demo => $mongoDemoKey) { foreach (PseudoStatsModel::getDemograficsKeys($demo) as $key) { $res['ratio'][$demo][$key] = 0; if ($res['total'][$demo]['all'] != 0) { $res['ratio'][$demo][$key] = round($res['total'][$demo][$key] / $res['total'][$demo]['all'] * 100); } } } return $res; }