Tibor:
It's not a good idea to use $_ENV unless you are specifying an environmental variable. This is probably a better example that I found on another page in php.net
<?php
function test() {
$foo = "local variable";
echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
echo '$foo in current scope: ' . $foo . "\n";
}
$foo = "Example content";
test();
?>
Superglobales
Superglobales — Las superglobales son variables incorporadas que siempre están disponibles en todos los ámbitos
Descripción
Varias variables predefinidas en PHP son "superglobales", lo que quiere decir que están disponibles en todos los ámbitos a lo largo de un script. No hay necesidad de hacer algo como global $variable; para acceder a ellas al interior de funciones o métodos.
Estas variables superglobales son:
Registro de cambios
| Versión | Descripción |
|---|---|
| 4.1.0 | Las superglobales fueron introducidas a PHP. |
Notes
Note: Disponibilidad de variables
De forma predeterminada, todas las superglobales están disponibles, pero hay directivas que alteran este resultado. Para más información, refiérase a la documentación de la directiva variables_order.
Note: Manejo con register_globals
Si la directiva obsoleta register_globals tiene el valor on entonces las variables al interior de las superglobales también estarán en el ámbito global del script. Por ejemplo, $_POST['foo'] también existiría como $foo.
Para información relacionada, vea la entrada del FAQ con título "¿Cómo me afecta register_globals?"
Note: Variables variables
Las superglobales no pueden ser usadas como variables variables al interior de funciones o métodos de clase.
Superglobales
10-Oct-2008 06:51
06-Oct-2008 08:00
You can use superglobals to make your variables available everywhere without declaring them global.
<?php
$_ENV['mystring'] = 'Hello World';
$_ENV['myarray'] = array('Alpha', 'Bravo', 'Charlie');
function test() {
print $_ENV['mystring'];
print_r($_ENV['myarray']);
}
test();
?>
