/**
 * Fun��o que calcula a diferen�a entre uma data passada 
comparando com o dia atual 
 * @param int $year Ano com 4 d�gitos
 * @param int $month Mes - [1-12]
 * @param int $day Dia - [1-31]
 * @return array Vetor sendo o indice zero a diferen�a em Anos, o indice 1 o restante da diferen�a em meses, o indice 2 o restante da diferen�a em dias da data atual
 * /
function getAge($year, $month, $day){
try{
   // Primeiro devemos validar a data passada
  if(!checkdate($month,$day,$year)) throw new Exception('Data inv�lida');
  // Calculando a idade em anos 
  $years_old = date('Y')- $year - (int)( (mktime(0,0,0, $month,$day))-time()>0);
  // Calculando o restante da idade em meses
  $months = (12-$month)+ date('m')-(int)(date('d')<$day); 
  // calculando o restante da idade em dias
  $days=($day<date('d')?date('d')-$day:(date('t',strtotime('-1 month'))-$day)+date('d'));
echo $diff;
return array($years_old,$months,$days);
}catch(Exception $e){ 
trigger_error($e->getMessage());

return false;
}
}

print_r(getAge(1990,2,25)); // Array ( [0] => 36 [1] => 11 [2] => 19 ) 

// comparando com a Classe DateTime 
$eu = new DateTime('1974-02-25');
$diff = $eu->diff(new DateTime());
echo $diff->format('%y %m %d');&#8201;&#8201;// 36 11 19