php根据日期或时间戳获取星座信息和生肖等信息

yipeiwu_com5年前PHP代码库

分享一个利用php根据日期或时间戳获取相应的干支纪年,生肖和星座信息的函数方法,具体函数代码以及使用方法如下:

/** 
判断干支、生肖和星座 
*/ 
function birthext($birth){ 
 if(strstr($birth,'-')===false&&strlen($birth)!==8){ 
  $birth=date("Y-m-d",$birth); 
 } 
 if(strlen($birth)===8){ 
  if(eregi('([0-9]{4})([0-9]{2})([0-9]{2})$',$birth,$bir)) 
  $birth="{$bir[1]}-{$bir[2]}-{$bir[3]}"; 
 } 
 if(strlen($birth)<8){ 
  return false; 
 } 
 $tmpstr= explode('-',$birth); 
 if(count($tmpstr)!==3){ 
  return false; 
 } 
 $y=(int)$tmpstr[0]; 
 $m=(int)$tmpstr[1]; 
 $d=(int)$tmpstr[2]; 
 $result=array(); 
 $xzdict=array('摩羯','水瓶','双鱼','白羊','金牛','双子','巨蟹','狮子','处女','天秤','天蝎','射手'); 
 $zone=array(1222,122,222,321,421,522,622,722,822,922,1022,1122,1222); 
 if((100*$m+$d)>=$zone[0]||(100*$m+$d)<$zone[1]){ 
  $i=0; 
 }else{ 
  for($i=1;$i<12;$i++){ 
   if((100*$m+$d)>=$zone[$i]&&(100*$m+$d)<$zone[$i+1]){ break; } 
  } 
 } 
 $result['xz']=$xzdict[$i].'座'; 
 $gzdict=array(array('甲','乙','丙','丁','戊','己','庚','辛','壬','癸'),array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥')); 
 $i= $y-1900+36;
 $result['gz']=$gzdict[0][($i%10)].$gzdict[1][($i%12)]; 
 $sxdict=array('鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'); 
 $result['sx']=$sxdict[(($y-4)%12)]; 
 return $result; 
}

 使用实例如下:

<?php 
header("Content-Type:text/html;charset=utf-8"); 
echo '<pre>';
$arr=birthext('1373287361'); //时间戳 
print_r($arr); 
$arr=birthext('2013-07-08'); 
print_r($arr); 
$arr=birthext('20130708'); 
print_r($arr); 

打印结果如下:

以上就是关于php根据日期或时间戳获取星座信息和生肖等信息的函数方法,希望对大家的学习有所帮助。

相关文章

浅析php过滤html字符串,防止SQL注入的方法

批量过滤post,get敏感数据复制代码 代码如下:$_GET = stripslashes_array($_GET);$_POST = stripslashes_array($_POS...

分割GBK中文遭遇乱码的解决方法

类似如下的字符串(GBK), explode不能得到正确结果: 1.$result = explode("|", "滕华弢|海青"); 究其原因, 对于”弢”字(读tao,不认识没关系,...

PHP面向对象程序设计之类与反射API详解

本文实例讲述了PHP面向对象程序设计之类与反射API。分享给大家供大家参考,具体如下: 了解类 class_exists验证类是否存在 <?php // TaskRun...

PHP 得到根目录的 __FILE__ 常量

1。PHP 的 __FILE__ 常量(如何得到根目录) dirname(__FILE___) 函数返回的是脚本所在在的路径。 比如文件 ...

PHP几个数学计算的内部函数学习整理

round round - 对浮点数进行四舍五入。round 函数语法如下: round(float,precision) 其中参数 precision 表示小数点后面要保持的精度位数。...