Foros del Web » Programando para Internet » PHP »

problema con funciones?

Estas en el tema de problema con funciones? en el foro de PHP en Foros del Web. tengo un grave o pequeño problema... resulta que tengo una funcion : function x() {...etc....;} esta la igualo a una variable: $in=x(); y tengo otra ...
  #1 (permalink)  
Antiguo 07/02/2004, 14:48
Avatar de ramzax200  
Fecha de Ingreso: noviembre-2003
Mensajes: 172
Antigüedad: 14 años, 1 mes
Puntos: 0
problema con funciones?

tengo un grave o pequeño problema... resulta que tengo una funcion :

function x()
{...etc....;}


esta la igualo a una variable:

$in=x();

y tengo otra variable que contiene varias variables dentro, incluyendo $in...:

$nueva="<html><body><center>".$nombre."<br><br>".$ in;

como ven segun mi logica la variable $in que es la de la funcion incluida, segun se tiene que imprimir dos renglones abajo que la variable $nombre, pero se imprime hasta arriba y despues de ella la variable $nombre.......

otro problema es que si pongo:
echo $in;
echo $in;

solo se imprime una ves, y no dos,..... alguien podria darme algun consejo, o por que pasa eso???

gracias de antemano....
  #2 (permalink)  
Antiguo 07/02/2004, 16:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Cuando haces:
Código PHP:
$in=x(); 
Lo que haces es que se ejecute la funcion, y en $in guardas lo que devuelve la funcion con return.

Pero por lo que dices, tienes dentro de la funcion echo. Al ejecutar esa funcion, se imprime.

Asi que cada vez que quieres que se imprima, tienes que mandar ejecutar la funcion, llamado a x().

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 07/02/2004, 16:56
Avatar de ramzax200  
Fecha de Ingreso: noviembre-2003
Mensajes: 172
Antigüedad: 14 años, 1 mes
Puntos: 0
el problema es que si pongo:

$in=x();

se ejecuta x()....pense que solo ponia :

x() //se ejecuta...

pero si pongo:

$in=x()// se ejecuta y no se me esta guardando en $in....


que pasara???
  #4 (permalink)  
Antiguo 07/02/2004, 16:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Es que en solo se guarda lo que devuelves con return:
Código PHP:
function x() {
  echo 
"dentro de la funcion";
  return 
"valor";
}

$in=x();
echo 
"fuera de la funcion: ".$in
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 07/02/2004, 17:01
Avatar de ramzax200  
Fecha de Ingreso: noviembre-2003
Mensajes: 172
Antigüedad: 14 años, 1 mes
Puntos: 0
ok, estoy entendiendo, eso del return "valor"; que hace, q debo de poner ahi,...
  #6 (permalink)  
Antiguo 07/02/2004, 17:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues tu variable que genera tu lógica de tu función ...

Código PHP:
function x($parametro1,$parametroX){
// proceso .. lógica ...

$variable="<b>Esto es el resultado del proceso de la función</b>";

return 
$variable


Si generas HTML en ese proceso .. que sea en una varible (no en echo's) .. para poder devolverlo en el return. Si tuvieras el caso que quieres devolver +de una variable .. usa un array.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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




La zona horaria es GMT -6. Ahora son las 09:31.