Home  >  Article  >  Backend Development  >  PHP calculates age/zodiac/constellation based on birthday example

PHP calculates age/zodiac/constellation based on birthday example

PHP中文网
PHP中文网Original
2017-03-22 16:53:222617browse

This article introduces various program example codes for calculating age/zodiac sign/constellation based on the user's birth year and month. Friends, feel free to enter for reference

//Calculate age

function birthday($mydate){ 
    $birth=$mydate; 
    list($by,$bm,$bd)=explode('-',$birth); 
    $cm=date('n'); 
    $cd=date('j'); 
    $age=date('Y')-$by-1; 
    if ($cm>$bm || $cm==$bm && $cd>$bd) $age++; 
    return $age; 
//echo "生日:$birthn年龄:$agen"; 
}

Calculate zodiac sign based on year

<?php 
/** 
 *  计算.生肖 
 *  
 * @param int $year 年份 
 * @return str 
 */ 
function get_animal($year){ 
    $animals = array( 
            &#39;鼠&#39;, &#39;牛&#39;, &#39;虎&#39;, &#39;兔&#39;, &#39;龙&#39;, &#39;蛇&#39;,  
            &#39;马&#39;, &#39;羊&#39;, &#39;猴&#39;, &#39;鸡&#39;, &#39;狗&#39;, &#39;猪&#39; 
    ); 
    $key = ($year - 1900) % 12; 
    return $animals[$key]; 
}
echo get_animal(1990);    // 马 
echo get_animal(2010);    // 虎

Calculate zodiac sign based on birthday

<?php 
/** 
 *  计算.星座 
 * 
 * @param int $month 月份 
 * @param int $day 日期 
 * @return str 
 */ 
function get_constellation($month, $day){ 
    $signs = array( 
            array(&#39;20&#39;=>&#39;宝瓶座&#39;), array(&#39;19&#39;=>&#39;双鱼座&#39;), 
            array(&#39;21&#39;=>&#39;白羊座&#39;), array(&#39;20&#39;=>&#39;金牛座&#39;), 
            array(&#39;21&#39;=>&#39;双子座&#39;), array(&#39;22&#39;=>&#39;巨蟹座&#39;), 
            array(&#39;23&#39;=>&#39;狮子座&#39;), array(&#39;23&#39;=>&#39;处女座&#39;), 
            array(&#39;23&#39;=>&#39;天秤座&#39;), array(&#39;24&#39;=>&#39;天蝎座&#39;), 
            array(&#39;22&#39;=>&#39;射手座&#39;), array(&#39;22&#39;=>&#39;摩羯座&#39;) 
    ); 
    $key = (int)$month - 1; 
    list($startSign, $signName) = each($signs[$key]); 
    if( $day < $startSign ){ 
        $key = $month - 2 < 0 ? $month = 11 : $month -= 2; 
        list($startSign, $signName) = each($signs[$key]); 
    } 
    return $signName; 
}
echo get_constellation(12, 11);    // 射手座 
echo get_constellation(6, 6);      // 双子座

Related articles:

PHP Calculate age (one year old) based on birthday

How to calculate age based on birthday in php

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn