Cómo acceder a variables globales en PHP dentro de una función?

Estoy escribiendo una función en el lenguaje PHP, pero intento utilizar ciertas variables y parece que no existieran. Son variables que he creado...

La FAQ Cómo acceder a variables globales en PHP dentro de una función? tiene

Pertenece a la categoría:

Pregunta
Estoy escribiendo una función en el lenguaje PHP, pero intento utilizar ciertas variables y parece que no existieran. Son variables que he creado fuera de la función y me gustaría utilizarlas dentro de la función, pero sin necesidad de pasarlas como parámetro.


Respuesta de Miguel Angel Alvarez
En PHP, Dentro de una función, en principio, sólo existen las variables que hayas creado dentro de ella. Así pues, es normal que no puedas acceder a las variables que hay creadas fuera de esa función.




En PHP, las variables declaradas externamente a una función son globales y las creadas en una función son variables locales. No obstante, PHP pone a nuestra disposición un par de mecanismos para que dentro de las funciones podamos utilizar variables globales. El array $GLOBALS y la declaración de las variables globales con “global” al principio de la función.




Todo el ámbito de variables y la utilización de variables globales dentro de una función están explicados en nuestro manual de PHP.

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios
Fueron enviados 4 comentarios a la faq
1 comentario no revisado
3 comentarios revisados:
Por: Fco Díaz [PaKoS]
06/6/06
Solo necesitas declarar la variable como global dentro de la funcion ejemplo

<?
$variable="lo que sea";
function A()
{
global $variable;//aqui le dices php que busque la variable globlar $variable
$variable ="cambio de valor";//Aqui cambias el valor de la variable $valor en global
}
function B()
{
$variable="hola";//esta es una variable local a la funcion B, si la modificas no modificas la variable global.
}

?>
Por: Jorge Canelones
06/6/06
Ese es una forma de solucionar el problema, otro metodo es pasar las variables que necesitara la funcion como parametros de la misma al momento de llamarla.

Ejemplo de llamado de funcion:
nombredefuncio($variable1,$variable2,$variable)

puedes pasar cualquier numero de variable lo unico es que cuando desarrolles la funcion debe te pedir la misma cantidad de variables que le envias.

Ejemplo de desarrollo de funcion:

function nombredefuncio($variable1,$variable2,$variable)
{
....
}




Por: ToKi
10/10/06
Puedes utilizar una variable global declarada en cualquier, ya sea una funcion u otro archivo lo unico que tienes que haces es especificar que te estas refiriendo a esa variable como global de esta manera
<?
global $variable
?>

Volver al árbol de categoríasVolver al árbol de categorías
Alojados en el grupo