Home > Article > Backend Development > PHP calculates age/zodiac/constellation based on birthday example
This article introduces various program example codes for calculating age/zodiac sign/constellation based on the user's birth year and month. Friends, feel free to enter for reference
//Calculate age
function birthday($mydate){ $birth=$mydate; list($by,$bm,$bd)=explode('-',$birth); $cm=date('n'); $cd=date('j'); $age=date('Y')-$by-1; if ($cm>$bm || $cm==$bm && $cd>$bd) $age++; return $age; //echo "生日:$birthn年龄:$agen"; }
Calculate zodiac sign based on year
<?php /** * 计算.生肖 * * @param int $year 年份 * @return str */ function get_animal($year){ $animals = array( '鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪' ); $key = ($year - 1900) % 12; return $animals[$key]; } echo get_animal(1990); // 马 echo get_animal(2010); // 虎
Calculate zodiac sign based on birthday
<?php /** * 计算.星座 * * @param int $month 月份 * @param int $day 日期 * @return str */ function get_constellation($month, $day){ $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'=>'摩羯座') ); $key = (int)$month - 1; list($startSign, $signName) = each($signs[$key]); if( $day < $startSign ){ $key = $month - 2 < 0 ? $month = 11 : $month -= 2; list($startSign, $signName) = each($signs[$key]); } return $signName; } echo get_constellation(12, 11); // 射手座 echo get_constellation(6, 6); // 双子座
Related articles: