В чем разница между GLOBALS и GLOBAL? - PullRequest
6 голосов
/ 07 ноября 2011

В PHP я хочу знать различия между GLOBAL и GLOBALS.

Пример:

print_r($GLOBALS);

Ответы [ 4 ]

13 голосов
/ 07 ноября 2011

Это две разные вещи, связанные с одним и тем же: глобальные переменные.

$GLOBALS - PHP суперглобальный массив, представляющий глобальныепеременная таблица доступна в виде массива.Поскольку он является суперглобальным, он доступен везде.

Ассоциативный массив, содержащий ссылки на все переменные, которые в настоящее время определены в глобальной области действия сценария.Имена переменных являются ключами массива.

global - ключевое слово для импорта определенной глобальной переменной в таблицу локальных переменных.


Тогда вы спросили:

Но почему мы не можем получить доступ к переменным сеанса и cookie, используя $GLOBALS?

Это неправильно, вы можетеполучить доступ к переменным сеанса и файла cookie с помощью $GLOBALS:

$GLOBALS['_SESSION']['session_variable_name']

Однако $_SESSION также является суперглобальным, поэтому вам не нужно использовать ни $GLOBALS, ни global для доступа к переменным сеанса из любого места:

$_SESSION['session_variable_name']

То же самое относится к $_COOKIE.

2 голосов
/ 07 ноября 2011

Это две разные вещи.

global - это ключевое слово , которое сообщает, что переменная принадлежит глобальной области видимости.Например, если вы собираетесь получить доступ к переменной внутри функции, которая определена вне, вам нужно использовать ключевое слово global, чтобы сделать ее доступной в функции.

$GLOBALS - этоsuperglobal массив .Superglobal просто означает, что он доступен во всех областях действия скрипта без необходимости использования ключевого слова global.

2 голосов
/ 07 ноября 2011

$ GLOBALS - это массив, а global - это ключевое слово для объявления или использования глобальных переменных

1 голос
/ 07 ноября 2011

$ GLOBALS: ассоциативный массив, содержащий ссылки на все переменные, которые в настоящее время определены в глобальной области действия сценария.Имена переменных - это ключи массива

GLOBAL / global - это ключевое слово для установки переменной global.

Ссылки:

http://php.net/GLOBALS

http://php.net/global

...