The PHP age calculation function of is accurate to day

  • 2020-05-17 04:58:19
  • OfStack

 
<?php 
/** 
* PHP  Age calculation function  
* 
*  Parameters support array arguments and standard  Mysql date  Type the reference  
* params sample 
* -------------------------------------------------- 
$birthArr = array( 
'year' => '2000', 
'month' => '11', 
'day' => '3' 
); 
$birthStr = '2000-11-03'; 
* -------------------------------------------------- 
* ); 
* @author IT "Daruma"  <itbudaoweng@gmail.com> 
* @copyright (c) 2011,2012 Just Use It! 
* @link IT "Daruma"  http://yungbo.com 
* @param string|array $birthday 
* @return number $age 
*/ 
function getAge($birthday) { 
$age = 0; 
$year = $month = $day = 0; 
if (is_array($birthday)) { 
extract($birthday); 
} else { 
if (strpos($birthday, '-') !== false) { 
list($year, $month, $day) = explode('-', $birthday); 
$day = substr($day, 0, 2); //get the first two chars in case of '2000-11-03 12:12:00' 
} 
} 
$age = date('Y') - $year; 
if (date('m') < $month || (date('m') == $month && date('d') < $day)) $age--; 
return $age; 
} 

Related articles: