> 백엔드 개발 > PHP 튜토리얼 > 一个判断干支、属相和星座的php函数

一个判断干支、属相和星座的php函数

WBOY
풀어 주다: 2016-06-13 13:08:26
원래의
1378명이 탐색했습니다.

一个判断干支、生肖和星座的php函数

<?php
/**
 * 判断干支、生肖和星座
 * @param string $type 返回类型: array.
 * @param date $birth = 时间戳,其它时间写法
 * @author bottle [email=hhyisw@163.com]hhyisw@163.com[/email]

//示例
$arr = birthext ( '474768000' ); //时间戳
print_r ( $arr );
$arr = birthext ( '1985-01-17' );
print_r ( $arr );
$arr = birthext ( '19850117' );
print_r ( $arr );
 */
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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿