生肖计算

陈永鹏的csdn博客地址:http://blog.csdn.net/chenyoper

陈永鹏的博客园地址:http://www.cnblogs.com/Yoperchen

西子内容管理系统http://www.xizicms.com

 

周末闲来无事,写了个生肖计算的类,比较简单,但是特别实用。

主要有以下的功能

根据生肖获取年龄,根据年龄获取生肖,根据年份获取生肖,获取年龄、生肖、年份的对应关系。

另外,本人开发的“西子内容管理系统”即将上线,模块解耦,可安装、可卸载,相当搔。

 

生肖年龄互换类

/**
 * 生肖年龄互换
 * @author Yoper
 * @e-mail chen.yong.peng@foxmail.com
 * @欢迎关注个人公众号 零零糖
 * @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;
    }
}

年龄、生肖、年份之间的转换。

 

完。

 

码农转型中,欢迎关注个人微信公众号,要打赏就到微信公众号的打赏~

交流深夜的姿势,不要总是阅读毒鸡汤文~

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值