Это две разные вещи, связанные с одним и тем же: глобальные переменные.
$GLOBALS
- PHP суперглобальный массив, представляющий глобальныепеременная таблица доступна в виде массива.Поскольку он является суперглобальным, он доступен везде.
Ассоциативный массив, содержащий ссылки на все переменные, которые в настоящее время определены в глобальной области действия сценария.Имена переменных являются ключами массива.
global
- ключевое слово для импорта определенной глобальной переменной в таблицу локальных переменных.
Тогда вы спросили:
Но почему мы не можем получить доступ к переменным сеанса и cookie, используя $GLOBALS
?
Это неправильно, вы можетеполучить доступ к переменным сеанса и файла cookie с помощью $GLOBALS
:
$GLOBALS['_SESSION']['session_variable_name']
Однако $_SESSION
также является суперглобальным, поэтому вам не нужно использовать ни $GLOBALS
, ни global
для доступа к переменным сеанса из любого места:
$_SESSION['session_variable_name']
То же самое относится к $_COOKIE
.