php根据日期判断星座的函数分享



function getZodiacSign($month, $day) {
    $signs = array(
        "摩羯座" => array(1, 20),
        "水瓶座" => array(1, 20),
        "双鱼座" => array(2, 19),
        "白羊座" => array(3, 21),
        "金牛座" => array(4, 20),
        "双子座" => array(5, 21),
        "巨蟹座" => array(6, 22),
        "狮子座" => array(7, 23),
        "处女座" => array(8, 23),
        "天秤座" => array(9, 23),
        "天蝎座" => array(10, 24),
        "射手座" => array(11, 22)
    );

    foreach ($signs as $sign => $bound) {
        list($startMonth, $startDay) = $bound;
        if (($month == $startMonth && $day >= $startDay) || ($month > $startMonth)) {
            $zodiac = $sign;
            break;
        }
    }

    // 如果月份小于1或大于12,返回错误信息
    if (!isset($zodiac) || $month < 1 || $month > 12) {
        return "无效的日期";
    }

    return $zodiac;
}

// 示例用法
echo getZodiacSign(9, 13); // 输出:处女座

这段代码定义了一个`getZodiacSign`函数,它接受月份和日期作为参数,并返回对应的星座名称。注意,由于星座的划分在某些边缘日期(如星座交界日)可能因不同来源而略有不同,这里提供的是一个简化的版本,主要基于普遍认可的日期划分。对于特定情况,可能需要调整日期范围。