生肖計算

陳永鵬的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;
    }
}

年齡、生肖、年份之間的轉換。

 

完。

 

碼農轉型中,歡迎關注個人微信公衆號,要打賞就到微信公衆號的打賞~

交流深夜的姿勢,不要總是閱讀毒雞湯文~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章