| Nota: tal vez resulten desconocidos los conceptos sobre funciones, que se tratan más adelante en este manual: funciones en PHP |
Entonces, si queremos utilizar una variable global a la página dentro de una función, tenemos que especificar de alguna manera que esa variable que vamos a utilizar es una global. Existen en PHP un par de maneras de utilizar variables globales a la página dentro de una función. Son las siguientes:
Matriz GLOBALS
Existe un array en PHP llamado $GLOBALS, que guarda una referencia a todas las variables creadas de manera global a la página. Es una matriz o array asociativo, de los que en lugar de índices numéricos utilizan índices de texto, donde cada índice es el nombre que hemos dado a la variable y cada valor es el contenido de cada variable.
Supongamos que tenemos esta declaración de variables globales a la página, es decir, fuera de cualquier función:
$mivariable = "pepe";
$otravariable = 1234;
Si queremos acceder a esas variables dentro de una función utilizando el array $GLOBALS tendríamos este código:
function mifuncion(){
//estoy dentro de la función, para aceder a las variables utilizo $GLOBALS
echo $GLOBALS["mivariable"];
echo $GLOBALS["otravariable"];
}
Como se puede ver, se accede al contenido de las variables globales con el array $GLOBALS, utilizando como índices de la matriz los nombres de variables que deseamos mostrar.
Esto imprimiría por pantalla el texto "pepe1234", el valor de las dos variables uno detrás del otro.
Declaración de uso de variables globales dentro de una función
Otra cosa que podemos hacer para acceder a variables globales dentro de una función es especificar al comienzo de dicha función la lista de variables que vamos a utilizar dentro. Para especificar esas variables utilizamos la palabra "global" seguida de la lista de variables que se van a utilizar del entorno global.
function mifuncion(){
global $mivariable, $otravariable
//con esa línea dentro de la función, declaramos el uso de variables globales
echo $mivariable;
echo $otravariable;
}
Como vemos, con "global" se especifica que vamos a utilizar unas variables que fueron declaradas como globales a la página. Una vez hecho esto, ya podemos acceder a esas variables globales como si estuvieran declaradas dentro de la función.
Cualquier alteración que hagamos a las variables dentro de la función permanecerá cuando se haya salido de la función, tanto si accedemos a través del array $GLOBALS o declarando con "global" el uso de esas variables.
| Por: Nicolás (México) | 21/9/06
|
| Por: andres | 08/2/07
|
| Por: Alex | 07/5/07
|
| variable global en servidor remoto cuando en php.ini register_globals = off Por: lukasz | 03/6/09
|
![]() Neo | Falta un ; en el código de la función | 21/7/09 |
| falta un punto y coma en el ejemplo Por: galleta | 13/8/09
|