Главная | Руководство по MySQL | MySQL Manual | Документация к HTTP серверу Apache | Apache HTTP Server Documentation | downloads | faq

искать  Язык: Английский


Суперглобальные переменные

(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 касаются меня?"

Замечание: Переменные переменных
Суперглобальные переменные не могут быть использованы как переменные переменных внутри функций и методов.


User Contributed Notes
Superglobals
lskatz at gmail dot com
10-Oct-2008 03:51
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();
?>
Tibor > rocketmachine.com
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();

?>
 

 
credits | contact