Edad Php

Hola que tal, En un formulario se le pregunta al usuario su nombre y su fecha de nacimiento; el script php debe devolverle al usuario su edad en años; el numero de letras que tiene su nombre y debe decirle si es niño, joven, adulto o anciano.
Tengo lo siguiente, pero se que me faltan validaciones por que no me ayudas y me dices si tienes otro código para implementarlo.
<?
function age($birthdate)
{
$exp = explode('-', $birthdate);
$year = $exp[0];
if (date('m') == $exp[1])
{
if (date('d') >= $exp[2])
$age = date('Y') - $year;
else
$age = (date('Y') - $year) - 1;
}
elseif (date('m') > $exp[1])
$age = date('Y') - $year;
else
$age = (date('Y') - $year) - 1;
return $age ." años";
}
echo age('$Edad');
?>

1 respuesta

Respuesta
1
Respondo a tu pregunta, pero antes me gustaría matizar algo, y es acorde a ti y a todos los usuarios que nos preguntáis a los "expertos" cuando preguntéis, sed indulgentes, pensad que nosotros sabemos de esto, pero nos cuesta de nuestro tiempo, y de lo que sabemos, y en muchas ocasiones mirando manuales igual que lo podríais hacer vosotros (o por ejemplo antes de preguntar... www.google.com)
No esperéis que os respondamos los códigos exactos de copiar y pegar y que funcionen, os podemos indicar, pero no podemos realizar absolutamente todo por vosotros, nosotros simplemente hacemos de guías, vosotros se supone que sois los programadores con un obstáculo, os enseñamos a saltarlo, pero no podemos saltarlo por vosotros.
Cuando contestéis, pensad que esto es una labor VOLUNTARIA estamos aquí inscritos y resolvemos dudas PORQUE QUEREMOS Y PORQUE NOS DA LA GANA por lo cual no tenemos ningún tipo de obligación para con vosotros, ni nos estáis pagando por nuestro trabajo, por lo cual, no exijáis más de lo que debéis.
Después de esto, te indico la resolución a tu código:
<?php
function edad($sFecha)
{
$aFecha = explode("-",$sFecha);
list($iAnio, $iMes, $iDia) = $aFecha;
$iTimeCumple = mktime(0, 0, 0, $iMes, $iDia, $iAnio);
$iTimeEdadReal = time() - $iTimeCumple;
$sEdad = intval($iTimeEdadReal/(60*60*24*365));
return $sEdad;
}
echo "tienes ".edad("1981-1-8")." años";
?>
Éste resuelve los años que tienes, en caso de que necesitaras días o demás lo puedes hacer en el (60*60*24*365) que son los segundos de un año, en caso de días serían (60*60*24)
Bueno, tu respuesta fue muy rápida, pero piensa que yo como vos también tengo cualidades y siempre trato de ayudar a los demás como valor moral y nunca resaltando su falta de conocimiento, ni tratando de hacerlo sentir ignorante, ya que nadie es sabelo todo.
He buscado y solo encontré lo que te expuse en el correo, no te estoy pidiendo que pesques por mi, solo que me ayudes a armar la caña de pescar.
Gracias por todo y que Dios te guarde en su seno

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas