В PHP я хочу знать различия между GLOBAL и GLOBALS.
Пример:
print_r($GLOBALS);
Это две разные вещи, связанные с одним и тем же: глобальные переменные.
$GLOBALS
– суперглобальный массив PHP, представляющий глобальную таблицу переменных, доступную как массив. Потому что это суперглобал, он доступен везде.
Ассоциативный массив, содержащий ссылки на все переменные, которые в настоящее время определены в глобальной области действия сценария. Имена переменных – это ключи массива.
global
– ключевое слово для импорта определенной глобальной переменной в локальную таблицу переменных.
Затем вы спросили:
Но почему мы не можем получить доступ к переменным сессии и файла cookie с помощью
$GLOBALS
?
Это неправильно, вы можете получить доступ к переменным сеанса и файла cookie с помощью $GLOBALS
:
$GLOBALS['_SESSION']['session_variable_name']
Однако $_SESSION
является суперглобальным, поэтому вам не нужно использовать ни $GLOBALS
ни global
для доступа к переменным сеанса от везде:
$_SESSION['session_variable_name']
То же самое относится к $_COOKIE
.
$ GLOBALS – это массив, а global – это ключевое слово для объявления или использования глобальных переменных
Это две разные вещи.
global
– это ключевое слово, которое сообщает, что переменная является глобальной областью. Например, если вы собираетесь получить доступ к переменной внутри функции, определенной вне, вам нужно будет использовать ключевое слово global, чтобы сделать ее доступной в функции.
$GLOBALS
– superglobal
массив . Superglobal просто означает, что он доступен во всех областях в сценарии без использования глобального ключевого слова.
$ GLOBALS: ассоциативный массив, содержащий ссылки на все переменные, которые в настоящее время определены в глобальной области действия сценария. Имена переменных – это ключи массива
GLOBAL / global – это ключевое слово для установки переменной global.
Рекомендации :