好得很程序员自学网

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

php中根据生日判断星座、生肖程序代码 - php日期

php中根据生日判断星座、生肖程序代码

星座判断很简单我们要统计出每个星期所有日期时间段了,然后获取日期进行查询即可了,下面我给大家举两个实例,有需要的同学可参考.

星座:我是根据这个时间表写的,该时间表未必准确.

'水瓶座'=>'(1/22-2/21)',    '双鱼座'=>'(2/22-3/21)',

'白羊座'=>'(3/22-4/21)',    '金牛座'=>'(4/22-5/21)',

'双子座'=>'(5/22-6/21)',    '巨蟹座'=>'(6/22-7/21)',

'狮子座'=>'(7/22-8/21)',    '处女座'=>'(8/22-9/21)',

'天秤座'=>'(9/22-10/21)',   '天蝎座'=>'(10/22-11/21)',

'射手座'=>'(11/22-12/21)',   '摩羯座'=>'(12/22-1/21)'

根据日期判断星座函数

实例代码如下:

function  yige_constellation( $month ,  $day ) {    // 检查参数有效性      if  ( $month  < 1 ||  $month  > 12 ||  $day  < 1 ||  $day  > 31)  return  false;      // 星座名称以及开始日期     $constellations  =  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"  =>  "摩羯座" )   );     list( $constellation_start ,  $constellation_name ) = each( $constellations [(int) $month -1]);      if  ( $day  <  $constellation_start ) list( $constellation_start ,  $constellation_name ) = each( $constellations [( $month  -2 < 0) ?  $month  = 11:  $month  -= 2]);      return   $constellation_name ;  } 

下面这个更全面可直接根据生日检查年龄,生肖,星座

实例代码如下:

<?php  /**   * 根据生日中的月份和日期来计算所属星座   *   * @param int $birth_month   * @param int $birth_date   * @return string   */   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 ;  }    /**   * 根据生日中的年份来计算所属生肖   *   * @param int $birth_year   * @return string   */   function  get_animal( $birth_year )  {  //1900年是子鼠年   $animal  =  array (       '子鼠' , '丑牛' , '寅虎' , '卯兔' , '辰龙' , '巳蛇' ,       '午马' , '未羊' , '申猴' , '酉鸡' , '戌狗' , '亥猪'       );    $my_animal  = ( $birth_year -1900)%12;  return   $animal [ $my_animal ];  }    /**   * 根据生日来计算年龄   *   * 用Unix时间戳计算是最准确的,但不太好处理1970年之前出生的情况   * 而且还要考虑闰年的问题,所以就暂时放弃这种方式的开发,保留思想   *   * @param int $birth_year   * @param int $birth_month   * @param int $birth_date   * @return int   */   function  get_age( $birth_year , $birth_month , $birth_date )  {  $now_age  = 1;  //实际年龄,以出生时为1岁计   $full_age  = 0;  //周岁,该变量放着,根据具体情况可以随时修改     $now_year    =  date ( 'Y' ,time());  $now_date_num   =  date ( 'z' ,time());  //该年份中的第几天   $birth_date_num  =  date ( 'z' , mktime (0,0,0, $birth_month , $birth_date , $birth_year ));    $difference  =  $now_date_num  -  $birth_date_num ;  if  ( $difference  > 0)  {     $full_age  =  $now_year  -  $birth_year ;  }  else   {     $full_age  =  $now_year  -  $birth_year  - 1;  }    $now_age  =  $full_age  + 1;    return   $now_age ;  }    ?> 

查看更多关于php中根据生日判断星座、生肖程序代码 - php日期的详细内容...

  阅读:68次