принадлежность даты к знаку зодиака

Vadimka

Новичок
принадлежность даты к знаку зодиака

каким образом сделать определение знака зодиака по текущей дате?
 

Kox

Guest
Легко :)

Например через массивы ... заносишь дату от и до и имя знака .. потом находишь в массиве нужную дату и выдаёшь кто это.
 

kvf77

Red Devil
$d = день рождения;
$m = месяц;
$y = год;
$dr = $d;
switch($m)
{
case '03':
$zodiac_id = 12;
if($dr > 20) $zodiac_id = 1;
break;
case '04':
$zodiac_id = 1;
if($dr > 19) $zodiac_id = 2;
break;
case '05':
$zodiac_id = 2;
if($dr > 20) $zodiac_id = 3;
break;
case '06':
$zodiac_id = 3;
if($dr > 21) $zodiac_id = 4;
break;
case '07':
$zodiac_id = 4;
if($dr > 22) $zodiac_id = 5;
break;
case '08':
$zodiac_id = 5;
if($dr > 22) $zodiac_id = 6;
break;
case '09':
$zodiac_id = 6;
if($dr > 22) $zodiac_id = 7;
break;
case '10':
$zodiac_id = 7;
if($dr > 22) $zodiac_id = 8;
break;
case '11':
$zodiac_id = 8;
if($dr > 21) $zodiac_id = 9;
break;
case '12':
$zodiac_id = 9;
if($dr > 21) $zodiac_id = 10;
break;
case '01':
$zodiac_id = 10;
if($dr > 19) $zodiac_id = 11;
break;
case '02':
$zodiac_id = 11;
if($dr > 18) $zodiac_id = 12;
break;
}
$params['zodiac_id'] = $zodiac_id;
 

Tor

Новичок
поищи на форуме
я помню, такое уже спрашивали и нашли дельное решение (pear кажется)
 

kvf77

Red Devil
SiMM
тут главное знать в каких диапазонах какой знак находится - так что мой пример более чем нагляден в данном случае.
 

SelenIT

IT-лунатик :)
SiMM, если я не путаю, с использованием 'z' приходится вводить поправку на високосный год.

kvf77, наглядность - это хорошо, но дублирование одинакового кода - ИМХО нет.
Практически то же самое можно записать куда короче:
PHP:
function zodiak($month,$day) {
   $sign = array('Козерог', 'Водолей', ... , 'Стрелец'); // год начинается Козерогом
   $signstart = array(1=>21, 2=>20, ... , 12=>22 ); // первый день нового знака для каждого месяца
   return $day < $signstart[$month] ? $sign[$month-1] : $sign[$month%12]; // конец декабря - опять Козерог
}
 
Сверху