El alcance de una variable (scope en inglés) determina desde que porción de código PHP dicha variable es accesible. Una variable definida en el cuerpo del script (es decir fuera de una function o class) tiene un alcance global, y puede ser accedida por el script durante cualquier momento de su ejecución. Una variable dentro de una función no está disponible al resto del programa, externo a dicha función, y por ello tiene un alcance local; de la misma manera, las variables definidas fuera de una función tampoco pueden ser accedidas desde dentro de la función.
Uno podría esperar al ejecutar este código que la variable $pais (su valor, España), fuera volcado dos veces a la pantalla. Sin embargo si nos tomamos la molestia de comprobarlo veremos que solo se produce un volcado.
La razón es que la variable $pais dentro de la función es considerada como una variable distinta y totalmente independiente de la variable $pais externa a la funcion.
Las operaciones con variables dentro de una función no afectan a lo que ocurre fuera de la misma, incluso aunque existan variables locales y globales con el mismo nombre.
Por eso se dice que el alcance de la variable dentro de la función es local
De hecho en el ejemplo anterior se produce el doble volcado de la variable $pais, pero su contenido es diferente, y solo se ha definido el valor de la variable externa.
<?php
function mifuncion() {
$pais = "Alemania";
echo "$pais dentro de la funcion vale ".$pais;
}
mifuncion(); // $pais dentro de la funcion vale Alemania
$pais = "España";
echo "<br>";
echo "$pais fuera de la funcion vale ".$pais;
// $pais fuera de la función vale España
?>
La declaración Global
Mediante una declaración de variables globales, dentro de una función, permitimos que dicha función pueda acceder a variables externas a la misma:
Mediante el uso de la declaración global de la variable dentro de la función, instruimos a PHP de que no ha de crear una nueva variable local, sino que va a utilizar en la función el valor de la variable externa, con el mismo alcance que las variables externas. El resultado es que se volcará el contenido de la variable (España) dos veces, una en la ejecución normal del script y otra al ejecutarse la función llamada desde el script.
Usuarios que han visto este tema también han visto...
- Acceso a base de datos con PHPLIB
- Mostrar el signo zodiacal en PHP
- Cómo comprimir a GZ un archivo con PHP
- Obteniendo rutas en PHP
- Recuperado la calidad de una imagen JPEG en PHP

Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.