Вот результат случайного var_dump($GLOBALS)
:Почему PHP должен рекурсивно хранить одни и те же глобальные данные?
array(6) {
["_GET"] => array(0) {}
["_POST"] => array(0) {}
["_COOKIE"]=> array(1) {
["PHPSESSID"]=> string(26) "o8f2mggog45mq9p5ueafgu5hv6"
}
["_FILES"] => array(0) {}
["GLOBALS"] => array(6) {
["_GET"] => array(0) {}
["_POST"] => array(0) {}
["_COOKIE"] => array(1) {
["PHPSESSID"] => string(26) "o8f2mggog45mq9p5ueafgu5hv6"
}
["_FILES"] => array(0) {}
["GLOBALS"]=>
*RECURSION*
["_SESSION"]=> &array(1) {
["somestrings"]=> string(16) "someotherstrings"
}
}
["_SESSION"] => &array(1) {
["somestrings"] => string(16) "someotherstrings"
}
}
Я новичок в PHP, и не понимаю, почему PHP нужно сделать? Не будет ли он использовать больше памяти?
Рекурсивные объекты могут быть довольно дешевыми –
они не копии, просто указатели на другие объекты .. поэтому он не теряет памяти. – supersan
На самом деле нет переменной под названием '$ _GLOBALS'. Это '$ GLOBALS', как указано в выводе. –