php可以通过出生年月日来推算出自己是什么星座的,网上搜索了一些好用的代码段列出出来,大家可以参考一下。
星座与时间对应表魔羯座(12/22 – 1/19)、水瓶座(1/20 – 2/18)、双鱼座(2/19 – 3/20)、牡羊座(3/21 – 4/20),
金牛座(4/21 – 5/20)、双子座(5/21 – 6/21)、巨蟹座(6/22 – 7/22)、狮子座(7/23 – 8/22),
处女座(8/23 – 9/22)、天秤座(9/23 – 10/22)、天蝎座(10/23 – 11/21)、射手座(11/22 – 12/21)
php通过出生年月推算生肖的方法
示例1:php输入月份与日来计算星座的方法function get_constellation($birth_month,$birth_date){
//判断的时候,为避免出现1和true的疑惑,或是判断语句始终为真的问题,这里统一处理成字符串形式
$birth_month = strval($birth_month);
$constellation_name = array('水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座','狮子座','处女座','天秤座','天蝎座)','射手座','摩羯座');
if ($birth_date <= 22){
if ('1' !== $birth_month){
$constellation = $constellation_name[$birth_month-2];
}else{
$constellation = $constellation_name[11];
}
}else{
$constellation = $constellation_name[$birth_month-1];
}
return $constellation;
}
echo get_constellation(8,11);
echo get_constellation(9,11);
示例2:php 通过月分与日期来获取星座的方法function get_xingzuo($month, $day){
$xingzuo = '';
// 检查参数有效性
if ($month 12 || $day 31){
return '';
}
if(($month == 1 && $day >= 20) || ($month == 2 && $day <= 18)) {
$xingzuo = "水瓶座";
}else if(($month == 2 && $day >= 19) || ($month == 3 && $day <= 20)) {
$xingzuo = "双鱼座";
}else if (($month == 3 && $day >= 21) || ($month == 4 && $day <= 19)) {
$xingzuo = "白羊座";
}else if (($month == 4 && $day >= 20) || ($month == 5 && $day <= 20)) {
$xingzuo = "金牛座";
}else if (($month == 5 && $day >= 21) || ($month == 6 && $day <= 21)) {
$xingzuo = "双子座";
}else if (($month == 6 && $day >= 22) || ($month == 7 && $day <= 22)) {
$xingzuo = "巨蟹座";
}else if (($month == 7 && $day >= 23) || ($month == 8 && $day <= 22)) {
$xingzuo = "狮子座";
}else if (($month == 8 && $day >= 23) || ($month == 9 && $day <= 22)) {
$xingzuo = "处女座";
}else if (($month == 9 && $day >= 23) || ($month == 10 && $day <= 23)) {
$xingzuo = "天秤座";
}else if (($month == 10 && $day >= 24) || ($month == 11 && $day <= 22)) {
$xingzuo = "天蝎座";
}else if (($month == 11 && $day >= 23) || ($month == 12 && $day <= 21)) {
$xingzuo = "射手座";
}else if (($month == 12 && $day >= 22) || ($month == 1 && $day <= 19)) {
$xingzuo = "摩羯座";
}
return $xingzuo;
}
echo get_xingzuo(8,11);
echo get_xingzuo(9,11);
示例3:php获取星座的方法,需要输入月份与日期function getConstellation($month, $day){
if(($month 12) || ($day 31)) return false;
$constellations = [
['20' => '水瓶座'], ['19' => '双鱼座'], ['21' => '白羊座'], ['20' => '金牛座'],
['21' => '双子座'], ['22' => '巨蟹座'], ['23' => '狮子座'], ['23' => '处女座'],
['23' => '天秤座'], ['24' => '天蝎座'], ['22' => '射手座'], ['22' => '魔羯座']
];
list($constellation_key, $constellation_value) = each($constellations[(int)$month - 1]);
if($day
list($constellation_key, $constellation_value) =
each($constellations[($month - 2
}
return $constellation_value;
}
echo getConstellation(8,11);
echo getConstellation(9,11);
示例4:php 通过格式化的日期输出星座// 输入格式化后的日期,(年-月-日)
function getConstellation($birthday){
$date = explode('-', $birthday);
$month = $date[1];
$day = $date[2];
//英文星座数组
// $values = array('Capricorn','Aquarius','Pisces','Aries','Taurus','Gemini','Cancer','Leo','Virgo','Libra','Scorpio','Sagittarius');
//汉字星座数组
$values = array('摩羯座','水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座');
//设定星座结束日期的数组,用于判断
$enddays = array(19, 18, 20, 20, 20, 21, 22, 22, 22, 22, 21, 21,);
switch ($month){
case 1:
return $day <= $enddays[0] ? $values[0] : $values[1];
break;
case 2:
return $day <= $enddays[1] ? $values[1] : $values[2];
break;
case 3:
return $day <= $enddays[2] ? $values[2] : $values[3];
break;
case 4:
return $day <= $enddays[3] ? $values[3] : $values[4];
break;
case 5:
return $day <= $enddays[4] ? $values[4] : $values[5];
break;
case 6:
return $day <= $enddays[5] ? $values[5] : $values[6];
break;
case 7:
return $day <= $enddays[6] ? $values[6] : $values[7];
break;
case 8:
return $day <= $enddays[7] ? $values[7] : $values[8];
break;
case 9:
return $day <= $enddays[8] ? $values[8] : $values[9];
break;
case 10:
return $day <= $enddays[9] ? $values[9] : $values[10];
break;
case 11:
return $day <= $enddays[10] ? $values[10] : $values[11];
break;
case 12:
return $day <= $enddays[11] ? $values[11] : $values[0];
break;
}
return '';
}
echo getConstellation('1980-08-11');
echo getConstellation('1980-09-11');