Home     Articles & Projects     Products & Web Services

PHP Star Sign function

Something I just put together for a Magic Parser customer which might come in handy for someone, somewhere! A PHP function to return the current star sign of the Zodiac (or the star sign of any given date as a PHP time() value), taking leap years into account.

function getStarSign($date="")
$zodiac[356] = "Capricorn";
$zodiac[326] = "Sagittarius";
$zodiac[296] = "Scorpio";
$zodiac[266] = "Libra";
$zodiac[235] = "Virgo";
$zodiac[203] = "Leo";
$zodiac[172] = "Cancer";
$zodiac[140] = "Gemini";
$zodiac[111] = "Taurus";
$zodiac[78]  = "Aries";
$zodiac[51]  = "Pisces";
$zodiac[20]  = "Aquarius";
$zodiac[0]   = "Capricorn";
    if (!
$date) $date = time();
$dayOfTheYear = date("z",$date);
$isLeapYear = date("L",$date);
    if (
$isLeapYear && ($dayOfTheYear > 59)) $dayOfTheYear = $dayOfTheYear - 1;
$zodiac as $day => $sign) if ($dayOfTheYear > $day) break;

To get the current star sign (today's date), simply use

$sign = getStarSign();

...or for the star sign of any given date, provide a standard time() value, e.g.

$sign = getStarSign(strtotime("2007-03-25"));