Hola,
El codigo de Maycol funciona ... si le pasas el parametro en el formato correcto. Tienes que pasarle un timestamp, no la fecha en una cadena. Puedes usar la funcion strtotime() (
www.php.net/strtotime) para pasar de la cadena a timestamp.
Asi, con el codigo de Maycol, la llamada seria:
Código PHP:
echo edad(strtotime('1990-01-01'));
Por cierto, el codigo que ha puesto eoes simplemente soluciona esto cogiendo los trozos de la cadena que le pasas.
Saludos.