Heim  >  Artikel  >  php教程  >  php 根据生日计算星座和生肖程序

php 根据生日计算星座和生肖程序

WBOY
WBOYOriginal
2016-06-08 17:24:212494Durchsuche

一个php 根据生日计算星座和生肖程序,有需要的朋友可参考参考。

<script>ec(2);</script>

魔羯座(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)

 代码如下 复制代码

/**
*getConstellation 根据出生生日取得星座
*
*@param String $brithday 用于得到星座的日期 格式为yyyy-mm-dd
*
*@param Array $format 用于返回星座的名称
*
*@return String
*/
function getConstellation($birthday, $format=null)
{
$pattern = ‘/^d{4}-d{1,2}-d{1,2}$/’;
if (!preg_match($pattern, $birthday, $matchs))
{
    return null;
}
$date = explode(‘-’, $birthday);
$year = $date[0];
$month = $date[1];
$day   = $date[2];
if ($month 12 || $day 31)
{
    return null;
}
//设定星座数组
$constellations = array(
      ‘摩羯座’, ‘水瓶座’, ‘双鱼座’, ‘白羊座’, ‘金牛座’, ‘双子座’,
      ‘巨蟹座’,'狮子座’, ‘处女座’, ‘天秤座’, ‘天蝎座’, ‘射手座’,);
//或 ‍‍$constellations = array(
      ‘Capricorn’, ‘Aquarius’, ‘Pisces’, ‘Aries’, ‘Taurus’, ‘Gemini’,
      ‘Cancer’,'Leo’, ‘Virgo’, ‘Libra’, ‘Scorpio’, ‘Sagittarius’,);
//设定星座结束日期的数组,用于判断
$enddays = array(19, 18, 20, 20, 20, 21, 22, 22, 22, 22, 21, 21,);
//如果参数format被设置,则返回值采用format提供的数组,否则使用默认的数组
if ($format != null)
{
    $values = $format;
}
else
{
    $values = $constellations;
}
//根据月份和日期判断星座
switch ($month)
{
    case 1:
      if ($day       {
        $constellation = $values[0];
      }
      else
      {
        $constellation = $values[1];
      }
      break;
    case 2:
      if ($day       {
        $constellation = $values[1];
      }
      else
      {
        $constellation = $values[2];
      }
      break;
    case 3:
      if ($day       {
        $constellation = $values[2];
      }
      else
      {
        $constellation = $values[3];
      }
      break;
    case 4:
      if ($day       {
        $constellation = $values[3];
      }
      else
      {
        $constellation = $values[4];
      }
      break;
    case 5:
      if ($day       {
        $constellation = $values[4];
      }
      else
      {
        $constellation = $values[5];
      }
      break;
    case 6:
      if ($day       {
        $constellation = $values[5];
      }
      else
      {
        $constellation = $values[6];
      }
      break;
    case 7:
      if ($day       {
        $constellation = $values[6];
      }
      else
      {
        $constellation = $values[7];
      }
      break;
    case 8:
      if ($day       {
        $constellation = $values[7];
      }
      else
      {
        $constellation = $values[8];
      }
      break;
    case 9:
      if ($day       {
        $constellation = $values[8];
      }
      else
      {
        $constellation = $values[9];
      }
      break;
    case 10:
      if ($day       {
        $constellation = $values[9];
      }
      else
      {
        $constellation = $values[10];
      }
      break;
    case 11:
      if ($day       {
        $constellation = $values[10];
      }
      else
      {
        $constellation = $values[11];
      }
      break;
    case 12:
      if ($day       {
        $constellation = $values[11];
      }
      else
      {
        $constellation = $values[0];
      }
      break;
}
return $constellation;
}
js格式的:
根据生日的月份和日期,计算星座的js小函数(最简)
// 根据生日的月份和日期,计算星座。  http://blog.111cn.net/cuixiping/
function getAstro(month,day){
    var s=”魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯”;
    var arr=[20,19,21,21,21,22,23,23,23,23,22,22];
    return s.substr(month*2-(day }
// 取星座, 参数分别是 月份和日期
function getxingzuo(month,day){
//by Go_Rush(阿舜) from http://ashun.cnblogs.com/
var d=new Date(1999,month-1,day,0,0,0);
var arr=[];
arr.push(["魔羯座",new Date(1999, 0, 1,0,0,0)])
arr.push(["水瓶座",new Date(1999, 0,20,0,0,0)])
arr.push(["双鱼座",new Date(1999, 1,19,0,0,0)])
arr.push(["牡羊座",new Date(1999, 2,21,0,0,0)])
arr.push(["金牛座",new Date(1999, 3,21,0,0,0)])
arr.push(["双子座",new Date(1999, 4,21,0,0,0)])
arr.push(["巨蟹座",new Date(1999, 5,22,0,0,0)])
arr.push(["狮子座",new Date(1999, 6,23,0,0,0)])
arr.push(["处女座",new Date(1999, 7,23,0,0,0)])
arr.push(["天秤座",new Date(1999, 8,23,0,0,0)])
arr.push(["天蝎座",new Date(1999, 9,23,0,0,0)])
arr.push(["射手座",new Date(1999,10,22,0,0,0)])
arr.push(["魔羯座",new Date(1999,11,22,0,0,0)])
for(var i=arr.length-1;i>=0;i–){
if (d>=arr[i][1]) return arr[i][0];
}
}
function getxingzuo(month,day){
var s=”魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯”;
var arr=[19,50,84,116,148,181,214,246,278,310,341,373,383];
for(var i=0;i if ((((month-1) }
return “error”;
}
计算生肖的:
function birthday2BornTag($birthday){
$year = substr($birthday,0,4);
$bornTagarray = array(“猴”, “鸡”, “狗”, “猪”, “鼠”, “牛”, “虎”, “兔”, “龙”, “蛇”,

“马”, “羊”);
$index = $year%12;
$bornTag = $bornTagarray[$index];
return $bornTag;
}
echo birthday2BornTag(’1983-12-19′);

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn