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();
?>
Суперглобальные переменные
(No version information available, might be only in CVS)
Суперглобальные переменные — Суперглобальные переменные - это встроенные переменные, которые доступны по всех областях видимости
Описание
Некоторые предопределённые переменные в PHP являются "суперглобальными", что означает, что они доступны в любом месте скрипта. Нет необходимости использовать синтаксис global $variable; для доступа к ним в функциях и методах.
Суперглобальными переменными являются:
Список изменений
Версия | Описание |
---|---|
4.1.0 | Суперглобальные переменные впервые появились в PHP. |
Примечания
Замечание: Доступность переменных
По умолчанию все суперглобальные переменные всегда доступны, однако существуют настройки, которые могут на это влиять. За дальнейшей информацией смотрите описание директивы variables_order.
Замечание: Работа с register_globals
В том случае, если устаревшая директива register_globals включена, содержание суперглобальных массивов становится доступно в виде отдельных переменных. Например, $_POST['foo'] будет также доступна в виде $foo.
За дополнительной информацией смотрите ЧАВО под названием "Как register_globals касаются меня?"
Замечание: Переменные переменных
Суперглобальные переменные не могут быть использованы как переменные переменных внутри функций и методов.
Смотрите также
Superglobals
10-Oct-2008 03:51
06-Oct-2008 05: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();
?>