计算某个生日是哪个星座的算法

计算某用户出生日期是哪个星座的php代码

传参为 月和日

代码如下:

<?php 
// 水瓶座        1.20-2.18
// 双鱼座        2.19-3.20
// 白羊座        3.21-4.19
// 金牛座        4.20-5.20
// 双子座        5.21-6.21
// 巨蟹座        6.22-7.22
// 狮子座        7.23-8.22
// 处女座        8.23-9.22
// 天秤座        9.23-10.23
// 天蝎座        10.24-11.22
// 射手座        11.23-12.21
// 魔羯座        12.22-1.19


function get_zodiac_sign($month, $day) 
{ 
    // 检查参数有效性 
    if ($month < 1 || $month > 12 || $day < 1 || $day > 31) 
    {
        return (false);
    } 
    // 星座名称以及开始日期 
    $signs = array( 
        array( "20" => "宝瓶座"), 
        array( "19" => "双鱼座"), 
        array( "21" => "白羊座"), 
        array( "20" => "金牛座"), 
        array( "21" => "双子座"), 
        array( "22" => "巨蟹座"), 
        array( "23" => "狮子座"), 
        array( "23" => "处女座"), 
        array( "23" => "天秤座"), 
        array( "24" => "天蝎座"), 
        array( "22" => "射手座"), 
        array( "22" => "摩羯座") 
    );
    list($sign_start, $sign_name) = each($signs[(int)$month-1]); 
    if ($day < $sign_start) 
    {
        list($sign_start, $sign_name) = each($signs[($month -2 < 0) ? $month = 11: $month -= 2]); 
    }
    return $sign_name; 
}//函数结束 

var_dump(get_zodiac_sign(11,11));
exit();

 

posted @ 2016-09-26 13:37  李照耀  阅读(1768)  评论(0编辑  收藏  举报