Foros del Web » Programando para Internet » PHP »

Duda básica funciones

Estas en el tema de Duda básica funciones en el foro de PHP en Foros del Web. Buenos días, Tengo hecha una función de este tipo: function probabilidad($x) { $k=4.89; $n=4/9; $y=($k*$n)+$x } A la que en varios puntos de un script ...
  #1 (permalink)  
Antiguo 08/02/2009, 08:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Duda básica funciones

Buenos días,

Tengo hecha una función de este tipo:

function probabilidad($x) {
$k=4.89;
$n=4/9;
$y=($k*$n)+$x
}

A la que en varios puntos de un script quiero llamar, pasándole unos valores de $x:
probabilidad(50) por ejemplo.

El caso es que el valor que saca en $y, quiero utilizarlo después en otra función, y no sé como hacerlo. He probado a hacerlo así (por lógica) pero no funciona:
probabilidad(50);
echo $y; <--- Aquí no devuelve nada.

Cómo puedo hacerlo? Espero haberme explicado bien...

Gracias y un saludo.
  #2 (permalink)  
Antiguo 08/02/2009, 08:50
 
Fecha de Ingreso: junio-2007
Mensajes: 70
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Duda básica funciones

Código PHP:

function probabilidad($x) {

global 
$y;

$k=4.89;
$n=4/9;
$y=($k*$n)+$x

}

probabilidad(50);
echo 
$y
  #3 (permalink)  
Antiguo 08/02/2009, 08:56
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Duda básica funciones

Ouch!!! Mil gracias!
  #4 (permalink)  
Antiguo 08/02/2009, 09:03
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda básica funciones

O usa return para devolver $y en la función. Recuerda que las variables creadas para el ámbito interno de una función no estarán disponibles en el ámbito global del script:

Código PHP:

function probabilidad($x) { 
    
$k=4.89
    
$n=4/9
    return (
$k*$n)+$x;


echo 
probabilidad(50); 
  #5 (permalink)  
Antiguo 08/02/2009, 09:08
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Duda básica funciones

Ah, muchas gracias por tu aclaración Okram, Un saludo ^_^
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 00:26.