Рецепт №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);