好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

一个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实例代码如下:

/**   *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  <1 ||  $month >12 ||  $day  < 1 ||  $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  <=  $enddays [0])        {           $constellation  =  $values [0];        }         else         {           $constellation  =  $values [1];        }         break ;       case  2:         if  ( $day  <=  $enddays [1])        {           $constellation  =  $values [1];        }         else         {           $constellation  =  $values [2];        }         break ;       case  3:         if  ( $day  <=  $enddays [2])        {           $constellation  =  $values [2];        }         else         {           $constellation  =  $values [3];        }         break ;       case  4:         if  ( $day  <=  $enddays [3])        {           $constellation  =  $values [3];        }         else         {           $constellation  =  $values [4];        }         break ;       case  5:         if  ( $day  <=  $enddays [4])        {           $constellation  =  $values [4];        }         else         {           $constellation  =  $values [5];        }         break ;       case  6:         if  ( $day  <=  $enddays [5])        {           $constellation  =  $values [5];        }         else         {           $constellation  =  $values [6];        }         break ;       case  7:         if  ( $day  <=  $enddays [6])        {           $constellation  =  $values [6];        }         else         {           $constellation  =  $values [7];        }         break ;       case  8:         if  ( $day  <=  $enddays [7])        {           $constellation  =  $values [7];        }         else         {           $constellation  =  $values [8];        }         break ;       case  9:         if  ( $day  <=  $enddays [8])        {           $constellation  =  $values [8];        }         else         {           $constellation  =  $values [9];        }         break ;       case  10:         if  ( $day  <=  $enddays [9])        {           $constellation  =  $values [9];        }         else         {           $constellation  =  $values [10];        }         break ;       case  11:         if  ( $day  <=  $enddays [10])        {           $constellation  =  $values [10];        }         else         {           $constellation  =  $values [11];        }         break ;       case  12:         if  ( $day  <=  $enddays [11])        {           $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<arr[month-1]?2:0),2);  }  // 取星座, 参数分别是 月份和日期   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<arr.length;i++){  if  ((((month-1)<<5)+day) <= arr[i])  return  s. substr (i*2,2);  }  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′); 

查看更多关于php 根据生日计算星座和生肖程序 - php日期的详细内容...

  阅读:71次