/** * Month of first marriage * * @param int $z_axis * @param int[] $z_boundaries * @param Stats $stats * * @return int */ function month_of_first_marriage($z_axis, array $z_boundaries, Stats $stats) { $total = 0; if ($z_axis === 300) { $num = $stats->statsMarrQuery(false, true); $indi = array(); $fam = array(); foreach ($num as $values) { if (!in_array($values['indi'], $indi) && !in_array($values['fams'], $fam)) { foreach (array('JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC') as $key => $month) { if ($month === $values['month']) { fill_y_data(0, $key, 1); $total++; } } $indi[] = $values['indi']; $fam[] = $values['fams']; } } } else { $zstart = 0; $indi = array(); $fam = array(); foreach ($z_boundaries as $boundary) { $num = $stats->statsMarrQuery(false, true, $zstart, $boundary); foreach ($num as $values) { if (!in_array($values['indi'], $indi) && !in_array($values['fams'], $fam)) { foreach (array('JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC') as $key => $month) { if ($month === $values['month']) { fill_y_data($boundary, $key, 1); $total++; } } $indi[] = $values['indi']; $fam[] = $values['fams']; } } $zstart = $boundary + 1; } } return $total; }