Foros del Web » Programando para Internet » PHP »

Variables globales?

Estas en el tema de Variables globales? en el foro de PHP en Foros del Web. Hola el problema que tengo es el siguiente: tengo una función que recibe una variable, realiza alguna operación con ella dentro de la función y ...
  #1 (permalink)  
Antiguo 09/07/2007, 19:20
 
Fecha de Ingreso: agosto-2005
Mensajes: 21
Antigüedad: 18 años, 8 meses
Puntos: 0
Exclamación Variables globales?

Hola el problema que tengo es el siguiente: tengo una función que recibe una variable, realiza alguna operación con ella dentro de la función y luego termina. La cosa es que si yo quiero mostrar el valor que la variable tenia adentro de la función, en una línea fuera de la función no lo hace. Paso un código para que se entienda


global $n,$m;
FUNCTION operar($n,$m)
{ echo "El resultado de 3*".$n."+5*".$m . "en la función es: ", 3*$n+5*$m, "<br>";
echo "el valor de n dentro de la función es: ",$n,"<br>";
}
operar(5,3);
echo "el valor de n después de ejecutar la función es: ",$n,"<br><br>";

en la última línea no me muestra el valor de $n, no da error.
Si alguien me puede decir que estoy haciendo mal, gracias, estoy empezando y la verdad no se como hacerlo.
  #2 (permalink)  
Antiguo 09/07/2007, 20:07
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Re: Variables globales?

Cita:
Iniciado por albina Ver Mensaje
Hola el problema que tengo es el siguiente: tengo una función que recibe una variable, realiza alguna operación con ella dentro de la función y luego termina. La cosa es que si yo quiero mostrar el valor que la variable tenia adentro de la función, en una línea fuera de la función no lo hace. Paso un código para que se entienda


global $n,$m;
FUNCTION operar($n,$m)
{ echo "El resultado de 3*".$n."+5*".$m . "en la función es: ", 3*$n+5*$m, "<br>";
echo "el valor de n dentro de la función es: ",$n,"<br>";
}
operar(5,3);
echo "el valor de n después de ejecutar la función es: ",$n,"<br><br>";

en la última línea no me muestra el valor de $n, no da error.
Si alguien me puede decir que estoy haciendo mal, gracias, estoy empezando y la verdad no se como hacerlo.
Ufff... tienes un error grande sobre el ámbito de una variable. Primero te recomiendo que vuelvas a leer la parte donde se explican estas cosas en el manual oficial.

Estas haciendo mal uso de global. Cuando vos estas "ubicada" fuera de cualquier función (llamemosle la raiz del script) este es el ámbito global. Cuando estas dentro de una función puedes usar una variable del ámbito global siempre y cuando uses global para decir que variable es (por esto te decía que hacías mal uso). También recuerda que todo aquello que declares dentro de una función se destruye cuando se termina la ejecución de la función. Dentro de una función también tienes otro "truquito", usar el el array super global $GLOBALS, este array contiene todas las variables declaradas a lo largo de la vida de ese script.

En realidad no se que quieres hacer asi que no puedo poner un ejemplo para que veas como funciona pero voy a colocar un ejemplo a ver si le atino y entiendes un poco más:

Código PHP:

$nombre 
'dario';

function 
prueba()
{
    global 
$nombre;
    echo 
$nombre.'<br>';
    
$nombre 'ocles';
}

prueba();

echo 
$nombre;

/*

Lo anterior imprime esto:
dario
ocles
*/ 
Saludos.
  #3 (permalink)  
Antiguo 10/07/2007, 09:15
 
Fecha de Ingreso: agosto-2005
Mensajes: 21
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Variables globales?

Hola gracias por tu consejo, en verdad esa función esta sola, o sea es una prueba de variables globales, es un ejemplo de un librito que me prestaron para ir viendo la herramienta, ya se no es muy bueno, pero es lo unico que consegui por ahora.
Probe el $globals pero no funcionó.
El manual oficial que vos decis, esta en alguna librería? o lo puedo conseguir por Internet?.
Gracias.
  #4 (permalink)  
Antiguo 10/07/2007, 09:27
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Re: Variables globales?

Cita:
Iniciado por albina Ver Mensaje
Hola gracias por tu consejo, en verdad esa función esta sola, o sea es una prueba de variables globales, es un ejemplo de un librito que me prestaron para ir viendo la herramienta, ya se no es muy bueno, pero es lo unico que consegui por ahora.
Probe el $globals pero no funcionó.
El manual oficial que vos decis, esta en alguna librería? o lo puedo conseguir por Internet?.
Gracias.
Claro, en www.php.net, precisamente aquí, ahí elijes si quieres ver la documentación en linea o descargarte una copia.

Recuerda que PHP diferencia entre mayúsculas y minúsculas... no es lo mismo $globals que $GLOBALS. Por ahora olvidate de $GLOBALS, sigue leyendo que en algún momento lo verás y entenderás el funcionamiento.

Saludos.
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 05:44.