PHP输入年份查询属相的代码。

我是新手,还不太懂,我写的这段有没有更简短的方法代替呢。

<?php
$year = $_GET['year'];
$a = ($year-1987)%12;
$b = ($year-1988)%12;
$c = ($year-1989)%12;
$d = ($year-1990)%12;
$e = ($year-1991)%12;
$f = ($year-1992)%12;
$g = ($year-1993)%12;
$h = ($year-1994)%12;
$i = ($year-1995)%12;
$j = ($year-1996)%12;
$k = ($year-1997)%12;
$l = ($year-1998)%12;
if($year == ""){
echo "请输入正确的年份,如 <font color=red>1987</font>";
}elseif($a == 0){
echo $year . "年是兔年.";
}elseif($b == 0){
echo $year . "年是龙年.";
}elseif($c == 0){
echo $year . "年是蛇年.";
}elseif($d == 0){
echo $year . "年是马年.";
}elseif($e == 0){
echo $year . "年是羊年.";
}elseif($f == 0){
echo $year . "年是猴年.";
}elseif($g == 0){
echo $year . "年是鸡年.";
}elseif($h == 0){
echo $year . "年是狗年.";
}elseif($i == 0){
echo $year . "年是猪年.";
}elseif($j == 0){
echo $year . "年是鼠年.";
}elseif($k == 0){
echo $year . "年是牛年.";
}elseif($l == 0){
echo $year . "年是虎年.";
}
?>
<form id="form1" name="form1" method="GET" action="phpyear.php">
输入年份查询属相:
<input type="text" name="year" size="8" maxlength="4"/>
<input type="submit" value="提交" />
</form>

PHP通过年份查询属相示例代码如下,具体逻辑体现在代码中。

<?php 
//判断是否为日期格式,默认时间格式为Y-m-d
function is_date($dateStr,$fmt="Y-m-d"){
    $dateArr = explode("-",$dateStr);
    if(empty($dateArr)){
        return false;
    }
    foreach($dateArr as $val){
        if(strlen($val)<2){
            $val="0".$val;
        }
        $newArr[]=$val;
    }
    $dateStr =implode("-",$newArr);
    $unixTime=strtotime($dateStr);
    $checkDate= date($fmt,$unixTime);
    if($checkDate==$dateStr)
        return true;
    else
        return false;
}

//通过出生年月获取属相
function getShuXiang($bithdayDate){
    
    //判断输入日期格式
    if(!is_date($bithdayDate)){
        
        echo "日期输入错误,请检查!";
    }
    //1900年是鼠年
    $data = array('鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪');

    $index = ($bithdayDate-1900)%12;

    return $data[$index];

}

echo "属相:".getShuXiang("1989-05-19");
//属相:蛇
?>
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-05-28
<?php

if($_POST['year']){
$y = $_POST['year'];
$sxdict = array('鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪'); 
$result['sx'] = $sxdict[(($y-4)%12)]; 
var_dump($result['sx']);
}
?>

<form action="a.php" method="post">
<input type="text" name="year" />
<input type="submit" >
</form>

本回答被提问者采纳
第2个回答  2013-06-09
$num = ($year-1987)%12;
switch ($num){
case 0:
echo "兔";break;
case 1:
echo "龙";break;
.
.
.
.
.
.
case 12:
echo "虎";break;
}
改成这样的能省不少代码量吧!
第3个回答  2015-10-03
<?php

if($_POST['year']){
$y = $_POST['year'];
$sxdict = array('鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪');
$result['sx'] = $sxdict[(($y-4)%12)];
var_dump($result['sx']);
}
?><form action="a.php" method="post">
<input type="text" name="year" />
<input type="submit" >
</form>