Студия веб дизайна, создание сайтов

Сопровождение и техническая поддержка сайтов

10 лет на рынке IT услуг, с нами надежно!

Определяем знак зодиака, функция php

В свое время, была поставлена задача, определить знак зодиака пользователя, по дате рождения. На различных форумах нашел несколько вариантов функций на php, для решения этой задачи, но все они были весьма не маленького размера и явно не продуманные. Посидев 15 минут, накидал собственную функцию, для определения знака зодиака. И как оказалось моя функция работала значительно быстрее. Для определения знака зодиака, нужно лишь вызвать функцию, указав в качестве параметра $data, дату рождения в стандартном формате гггг-мм-дд

Собственно сама функция

function znakZodiaka($data){
$day = str_replace("-","",substr($data,5));
$zodiak = array('ot' => array('0120','0219','0321','0421','0521','0622','0723','0823','0923','1024','1123','1222','0101'),
	        'do' => array('0218','0320','0420','0520','0621','0722','0822','0922','1023','1122','1221','1231','0119'),
                'zn' => array('Водолей','Рыбы','Овен','Телец','Близнец','Рак','Лев','Дева','Весы','Скорпион','Стрелец','Козерог','Козерог'));
$i = 0;
while (empty($znak) && ($i < 13)){
	$znak = (($zodiak['ot'][$i] <= $day) && ($zodiak['do'][$i] >= $day)) ? $zodiak['zn'][$i] : null;
	++$i;
} return $znak;
}

Вызываем функцию

echo znakZodiaka("2010-06-18");
// Получаем ответ Близнец