php,天干地支、生肖生成
<?php
/*天干地支算法:
一.公元后的:
天干:甲4 乙5 丙6 丁7 戊8 己9 庚0 辛1 壬2 癸3
如1894年末尾一个数是4就甲年,依此类推
地支:子4 丑5 寅6 卯7 辰8 巳9 午10 未11 申0 酉1 戌2 亥3
换算:1894除以12,余数是几,就在地支中找几.
二.公元前的:
天干:甲7 乙6 丙5 丁4 戊3 己2 庚1 辛0 壬9 癸8
如公元前7年就是甲年依此类推
地支:子-9 丑-8 寅-7 卯-6 辰-5 巳-4 午-3 未-2 申-1 酉0 戌-11 亥-10
换算:如公元前221年,-221除以12,余数是几,就在地支中找几
*/
$tgdz = array (array ('甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸' ),
array ('子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥' ) );
$year = 2014;
$year_jisuan = $year - 1900 + 36;
$tiangandizhi = $tgdz[0][$year_jisuan % 10] . $tgdz[1][$year_jisuan % 12];
echo $year."年为农历[".$tiangandizhi."]年";
?>
2. 天干地支算法2
<?php
/*天干地支算法版本2:*/
$tgdz = array (array ('庚', '辛', '壬', '癸' ,'甲', '乙', '丙', '丁', '戊', '己'),
array ( '申', '酉', '戌', '亥', '子', '丑', '寅', '卯', '辰', '巳', '午', '未') );
for ($year = 1900; $year <= 2099; $year++)
{
$tiangandizhi = $tgdz[0][$year % 10] . $tgdz[1][$year % 12];
echo $year . "年为农历[" . $tiangandizhi . "]年<br>";
}
?>
3. 生肖算法1
/*生肖算法版本1:*/
if($_post['year']){
$y = $_post['year'];
$sxdict = array('猴', '鸡', '狗', '猪','鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊');
$result['sx'] = $sxdict[$y%12];
var_dump($result['sx']);
}
?>
4. 生肖算法2 (按照正常顺序)
<?php
/*生肖算法版本2:*/
if($_post['year']){
$y = $_post['year'];
$sxdict = array('鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪');
$result['sx'] = $sxdict[(($y-4)%12)];
var_dump($result['sx']);
}
?>
以上就是php天干地支、生肖的生成的内容。