Foros del Web » Programando para Internet » PHP »

Ayuda en Funciones

Estas en el tema de Ayuda en Funciones en el foro de PHP en Foros del Web. Buenas Noches a todos!! Tengo un problema al ejecutar este archivo que es una funcion que se encarga de calcular la edad .El error es ...
  #1 (permalink)  
Antiguo 04/01/2009, 21:48
 
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago del Estero-Argentina
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Ayuda en Funciones

Buenas Noches a todos!! Tengo un problema al ejecutar este archivo que es una funcion que se encarga de calcular la edad .El error es q no aparece nada en pantalla.
El codigo es:
Código PHP:
<?php

 
function edad($nacimiento) {
// restamos los años (año actual - año cumpleaños)
$edad date ("Y") - ereg_replace(" ^(.{ 4 }). * "," \\1"$nacimiento) ;

// si pasamos de año pero aún  no cumplimos años, resta 1
if ( date("m-d") < ereg_replace(".* (.{5}) $ "," \\ 1 "$nacimiento) ); 
echo 
' hola' ;
return 
$edad;
}
?>
Saludos! Feliz Año p todos!!.Paola.
  #2 (permalink)  
Antiguo 04/01/2009, 23:06
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Ayuda en Funciones

Si quieres que te haga print la funcion de la variable que estas retornando ($edad) tienes que hacerle un echo,
Código PHP:
echo edad("1998-12-15"); 
Saludos
  #3 (permalink)  
Antiguo 05/01/2009, 00:26
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Ayuda en Funciones

Cita:
Iniciado por PaolaRom Ver Mensaje
El error es q no aparece nada en pantalla.
Tienes un echo dentro de la función, ¿y no lo muestra?. ¿Cómo la estás implementando?.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 05/01/2009, 10:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda en Funciones

demás, el punto y coma al final de la comparación if no va ahí !!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 05/01/2009, 13:09
 
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago del Estero-Argentina
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Ayuda en Funciones

ya hice las correcciones((saque el ; y agregue el mens p q me lo muestre en pantalla) Pero aun asi me da error. M m ..no sep donde esta el error.
Gracias x su ayuda!, Saludos.
  #6 (permalink)  
Antiguo 08/01/2009, 10:55
 
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago del Estero-Argentina
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Ayuda en Funcion

Buenas tardes!!..Lei las sugerencias que me propusieron ..pero aun no me muestra en pantalla nada.Se trata de una funcion q calcula la edad de la persona..y me muestra x pantalla.Yo pense q el error estaba en definir la funcion.Trate de definir cono PUBLIC FUNCTION...pero me da error y la deje como esta.
Este es el codigo:
Código PHP:
</head>

<body>
<?php
$nacimiento
1998-12-15;
 function 
edad($nacimiento) {
// restamos los años (año actual - año cumpleaños)
$edad date ("Y") - ereg_replace(" ^(.{ 4 }). * "," \\1"$nacimiento) ;

// si pasamos de año pero aún  no cumplimos años, resta 1
if ( date("m-d") < ereg_replace(".* (.{5}) $ "," \\ 1 "$nacimiento) )
  
return 
$edad;
echo 
edad("1998-12-15");

}
?>
Saludos de todo
  #7 (permalink)  
Antiguo 08/01/2009, 11:00
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Respuesta: Ayuda en Funcion

Cuando llamas a la sentencia return se corta la ejecución de la función. La línea siguiente a ésta, justamente en la que mostras el resultado, es como si no existiera para el interprete.
Para solucionarlo, saca fuera del cuerpo de la función la línea echo(edad("1998-12-15")).
Saludos.

EDITO: También fijate que tenés que agregar comillas al valor que le asignas a la variable $nacimiento. Y cuando llamás a la función no hace falta que escribas la cadena, sino podés usar este valor almacenado y la llamás directamente con el.
__________________
Add, never Remove
  #8 (permalink)  
Antiguo 08/01/2009, 11:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda en Funcion

Temas unidos, por favor no dupliques temas.
  #9 (permalink)  
Antiguo 08/01/2009, 14:45
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda en Funciones

Código PHP:
 function edad($nacimiento) {
// restamos los años (año actual - año cumpleaños)
$edad intval(date ('Y')) - intval(substr($nacimiento04)) ;

// Ponemos el año actual a la fecha de nacimiento, para comparar
$comparar strtotime(date('Y') . substr($nacimiento4));

// si pasamos de año pero aún  no cumplimos años, resta 1
if ( $comparar time() ); 
    
$edad--;
return 
$edad;
}

echo 
edad('1968-09-21'); 
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 08/01/2009, 19:49
 
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago del Estero-Argentina
Mensajes: 17
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Ayuda en Funciones

Gracias!! Ya hice las correcciones y NO me da mas errores!!Ya comprendi cual era mi error.....es que soy un poco despistada!
Muchas Gracias a TRIBY Y MARIANO_DONNATI!!!
Saludos de todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:43.