陳永鵬的csdn博客地址:http://blog.csdn.net/chenyoper
陳永鵬的博客園地址:http://www.cnblogs.com/Yoperchen
西子內容管理系統:http://www.xizicms.com
週末閒來無事,寫了個生肖計算的類,比較簡單,但是特別實用。
主要有以下的功能
根據生肖獲取年齡,根據年齡獲取生肖,根據年份獲取生肖,獲取年齡、生肖、年份的對應關係。
另外,本人開發的“西子內容管理系統”即將上線,模塊解耦,可安裝、可卸載,相當搔。
生肖年齡互換類
/**
* 生肖年齡互換
* @author Yoper
* @e-mail [email protected]
* @歡迎關注個人公衆號 零零糖
* @Wechat Yoperman ,添加請發送驗證"CSDN"
* @ www.linglingtang.com
*/
class zodiac{
/**
* 根據年份獲取生肖
* @param int $year
* @return string
*/
function get_zodiac_by_year($year){
$num = ($year-1900)%12;//1900 是鼠
$zodiac='';
switch ($num){
case 0:$zodiac='鼠';break;
case 1:$zodiac='牛';break;
case 2:$zodiac='虎';break;
case 3:$zodiac='兔';break;
case 4:$zodiac='龍';break;
case 5:$zodiac='蛇';break;
case 6:$zodiac='馬';break;
case 7:$zodiac='羊';break;
case 8:$zodiac='猴';break;
case 9:$zodiac='雞';break;
case 10:$zodiac='狗';break;
case 11:$zodiac='豬';break;
}
return $zodiac;
}
/**
* 根據年齡獲取生肖
* @param int $age
* @param number $is_real_age
* @return unknown
*/
function get_zodiac_by_age($age,$is_real_age=1){
if(!$is_real_age)$age-=1;//傳虛歲則減一
$now_year=date('Y');
$year=$now_year-$age;
$zodiac=$this->get_zodiac_by_year($year);
return $zodiac;
}
/**
* 年份年齡生肖
* @return [['yearold'=>29,'year'=>'1990','zodiac'=>'馬'],[]]
*/
function get_zodiac_list($total=100){
$now_year=date('Y');
for($i=0;$i<$total;$i++){
$info=[];
$year = $now_year-$i;
$info['yearold']=$i+1;
$info['year']=$year;
$info['zodiac']=$this->get_zodiac_by_year($year);
$list[]=$info;
}
return $list;
}
/**
*
* @return ['鼠'=>'1,2,3,4,5','牛'=>'2,5,5,5,']
*/
function get_zodiac_list2(){
$zodiac_list=$this->get_zodiac_list();
$list2=[];
foreach($zodiac_list as $info){
$list2[$info['zodiac']] && $list2[$info['zodiac']].=",".$info['yearold'];
!$list2[$info['zodiac']]&& $list2[$info['zodiac']]=$info['yearold'];
}
return $list2;
}
/**
* 根據生肖獲取數字
* @param unknown $zodiac
* @return string 1,2,3,4,5
*/
function get_number_str_by_zodiac($zodiac){
$list = $this->get_zodiac_list();
foreach($list as $info){
if($zodiac==$info['zodiac']){
$number_arr[]=$info['yearold'];
}
}
$number_str=implode(',', $number_arr);
return $number_str;
}
}
年齡、生肖、年份之間的轉換。
完。
碼農轉型中,歡迎關注個人微信公衆號,要打賞就到微信公衆號的打賞~
交流深夜的姿勢,不要總是閱讀毒雞湯文~