Пример #1
0
/**
 * 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;
}