Foros del Web » Programando para Internet » PHP »

Modificar valor de variable global

Estas en el tema de Modificar valor de variable global en el foro de PHP en Foros del Web. Hola a todos, Alguien sabe como se puede modificar el valor de una variable global pero solo en una función?? El problema es que quiero ...
  #1 (permalink)  
Antiguo 03/11/2009, 09:11
Avatar de andres013  
Fecha de Ingreso: febrero-2007
Ubicación: Bogotá Colombia
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 2
Modificar valor de variable global

Hola a todos,

Alguien sabe como se puede modificar el valor de una variable global pero solo en una función??

El problema es que quiero modificar el coportamiento de una función por medio del valor de una variable global, lo que sucede es que no he podido modificar el valor de la variable global por fuera de la función en la que se ha cambiado.

Gracias por la ayuda
__________________
Desarrollando Web: La guía para los desarrolladores web
http://www.desarrollandoweb.com
  #2 (permalink)  
Antiguo 03/11/2009, 09:32
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Modificar valor de variable global

No entiendo que necesitas. Puedes explicarlo con mas detalle?
  #3 (permalink)  
Antiguo 03/11/2009, 09:42
Avatar de andres013  
Fecha de Ingreso: febrero-2007
Ubicación: Bogotá Colombia
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 2
Respuesta: Modificar valor de variable global

Bueno, basicamente lo que necesito es modificar el valor de una variable global, pero que al hacerlo no solo se modifique en la función en la que lo cambio si no que quede cambiada globalmente, es decir, que apartir del momento que lo cambie sigua con el valor que le he puesto finalmente y no con el valor que se declaro inicialmente.
__________________
Desarrollando Web: La guía para los desarrolladores web
http://www.desarrollandoweb.com
  #4 (permalink)  
Antiguo 03/11/2009, 09:48
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Modificar valor de variable global

Para eso has de pasar la variable por referencia.

Para hacer eso has de modificar la declaración de tu función de este modo.

Un ejemplo:

Código PHP:
function sumarCinco(&$parametro)
{
  
$parametro $parametro 5;
}

$foo 0;
echo 
$foo// Debe pintar 0

sumarCinco($foo);

echo 
$foo// Debe pintar 5

sumarCinco($foo);

echo 
$foo// Debe pintar 10 

Saludos!
  #5 (permalink)  
Antiguo 03/11/2009, 09:56
Avatar de andres013  
Fecha de Ingreso: febrero-2007
Ubicación: Bogotá Colombia
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 2
Respuesta: Modificar valor de variable global

Gracias Synkronice,

solo hay manera de hacerlo pasandolo como parametro? como está el sistema actualmente no es posible pasar parametros para invocar los objetos $db...

Alguna otra posible solución??
__________________
Desarrollando Web: La guía para los desarrolladores web
http://www.desarrollandoweb.com
  #6 (permalink)  
Antiguo 03/11/2009, 10:03
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Modificar valor de variable global

Entonces el problema lo tienes en el diseño de la aplicación, deberías replanteártelo.

Saludos!
  #7 (permalink)  
Antiguo 03/11/2009, 10:06
Avatar de andres013  
Fecha de Ingreso: febrero-2007
Ubicación: Bogotá Colombia
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 2
Respuesta: Modificar valor de variable global

Si, ya lo he notado, es una aplicación que ya está hecha desde hace 4 años y es gigante, la base de datos tiene 200 tablas y cambiar el diseño implicaría cambiarla toda, lo cual resultaría una tarea titanica.

Por eso estoy pensando en una opción menos compleja y claramente menos larga q cambiar el diseño actua.

De todas maneras muchas gracias por tu ayuda.
__________________
Desarrollando Web: La guía para los desarrolladores web
http://www.desarrollandoweb.com
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 17:28.