кто-нибудь, пожалуйста, дайте мне знать основные различия между
$GLOBALS["test"] and global $test
и будет ли смысл, что, если я использую $GLOBALS["test"]
вместо $_SESSION['test']
?
и будет ли смысл, что, если я использую $ GLOBALS ["test"] вместо $ _SESSION ['test']?
Нет, сеанс отличается от переменной, доступной во всем мире.
$ GLOBALS
Ассоциативный массив, содержащий ссылки на все переменные, которые в настоящее время определены в глобальной области действия сценария. Имена переменных – это ключи массива.
http://php.net/manual/en/reserved.variables.globals.php
Объяснение:
$GLOBALS
– это ассоциативный массив, доступный во всем вашем скрипте, нет необходимости использовать global $test
Примечание. Это «суперглобальная» или автоматическая глобальная переменная. Это просто означает, что он доступен во всех областях по всему сценарию. Нет необходимости делать глобальную переменную $; для доступа к ним в рамках функций или методов.
Нет никакой разницы между $GLOBALS["test"]
и global $test
. Оба являются чистым злом и не должны использоваться.
$test
должен хранить информацию о чем-то, скажем: количество мячей. Все нормально, пока не будет такой переменной, и она сохранит то, что она должна хранить. Однако что произойдет, если вы решите удалить эту переменную или использовать ее для других целей? Ба, роковые ошибки выходят из ниоткуда! Вы не знаете, что происходит, все работает нормально, вы просто меняете стоимость переменной, и все разваливается.