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.
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Fco Díaz [PaKoS]

06/6/2006
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.
}

?>

Jorge Canelones

06/6/2006
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)
{
....
}




ToKi

10/10/2006
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
?>

HORUS

28/1/2009
Fco Díaz [PaKoS] TU RESPUESTA ES LA MAS CLARA Y LA MAS CONCRETA ENCONTRADA EN LA WEB, SOY PROGRAMADOR WEB Y ESTUBE VARIOS DIAS CON ESE PROBLEMITA DE LAS VARIABLES GLOBALES GRACIAS....

ingandres

23/10/2011
acceder a variablees globales en una funcion en php
ola tengo esa misma pregunta, hay algo que no entiendo: utilizo el siguiente codigo pero en la pantalla no se visualiza nada...solo sale Parse error, entonces le coloco el (;) la instrucción y no me sale error pero no se visualiza en pantalla.
en el manual de php muestra ese ejemplo sin (;) lo copie y lo pegue en mi notepad++ lo guarde en www es la carpeta en la que guardo mis paginas usando wamp server ...



<?php

$mivariable="pepe";
$otravariable=1234;
function mifuncion(){
global $mivariable, $otravariable //con esa línea dentro de la función, declaramos el uso de variables globales
echo $mivariable;
echo $otravariable;
}

?>



<?php

$mivariable="pepe";
$otravariable=1234;
function mifuncion(){
global $mivariable, $otravariable;//con esa línea dentro de la función, declaramos el uso de variables globales
echo $mivariable;
echo $otravariable;
}

?>

andreiya

27/12/2013
ingandres
No veo que hayas llamado a la funcion

OscarDaniel

01/12/2014
Duda Variable Global
Hola me podrian ayudar con este problema
class modelo { //comienza mi clase
$variable = "1";
public function empresas(){
global $variable; //llamo a doña variable
$variable ="$numAdmin"; //la bautizo con otro nombre
echo .$variable; la nombro y si se imprime el nombre (numero de ID)
}
public funcion pagos(){
//Aqui esta el problema cuando intento volver a utilizar la variable con el id que necesito
ya no sale nada bueno se imprime el valor que le di al principio (1);
¿Como puedo reusar el valor que le asigne en la funcion empresas ?? ese ID
}
} //fin classe

PD segun yo soy programador web y no puedo hacer esto disculpen jeje
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías