Рецепт №46. Из книги «128 рецептов php»
Перейти к оглавлению
Чтобы получить знак зодиака, достаточно знать только день и месяц рождения. Алгоритм вычисления знака прост: необходимо создать массив, в котором будет храниться число месяца, в которое происходит смена знака зодиака и массив названий знаков в таком порядке, как они и начинаются с начала года. Когда массивы будут созданы, будет достаточно сравнить день рождения с днем, при котором происходит смена знака зодиака, если смена еще не произошла, то вернем название знака, соответствующей месяцу рождения. Иначе, вернем следующий по порядку знак зодиака.
Пример:
/*
* определяет по дате рождения знак зодиака
* $month - месяц
* $day - день рождения
*/
function getZodiac($month, $day){
// массив с названиями знаков зодиака
$zodiacName = array(
"Козерог", "Водолей", "Рыбы",
"Овен", "Телец", "Близнецы",
"Рак", "Лев", "Девы",
"Весы", "Скорпион", "Стрелец"
);
// массив дней, с которых сменяется знак зодиака
$zodiacDate = array(
21, 20, 20, 20, 20, 20,
21, 22, 23, 23, 23, 23
);
// если в выбранный день месяца знак уже сменился
echo $index_m;
if ($day < $zodiacDate[$month - 1]){
$result = $zodiacName[$month - 1];
}else{
if($month == 12) $month = 0;
$result = $zodiacName[$month];
}
return $result;
}
// пример использования
echo getZodiac(1, 24);


