Неожиданный вывод при использовании var_dump () над массивом GLOBALS в PHP - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть этот код:

<?php

$p = 9;
$p1 = 7;

function myTest(){
    static $x = 6;
    var_dump($GLOBALS);
}

myTest();
?>

У меня следующий вывод, может кто-нибудь помочь мне понять, что означает этот вывод:

array (7) { ["_GET"] => array (1) {["_ijt"] => string (26) "ahnjuf13d078eoci4stj3ke4ti"} ["_POST"] => array (0) {} ["_COOK IE"] => array (1) {["Phpstorm-a9066f19"] => string (36) "362d152a-496e-48ee-8e53-281e38eefd84"} ["_FILES"] => array (0) {} ["GLOBALS"] => RECURSION ["p"] => int (9) ["p1"] => int (7)} array (7) {["_GET"] => array (1) {["_ijt "] => string (26)" ahnjuf13d078eoci4stj3ke4ti "} [" _POST "] => array (0) {} [" _COOK IE "] => array (1) {[" Phpstorm-a9066f19 "] => строка (36) "362d152a-496e-48ee-8e53-281e38eefd84"} ["_FILES"] => array (0) {} ["GLOBALS"] => RECURSION ["p"] => int (9) ["p1"] => int (7)}

1 Ответ

0 голосов
/ 13 февраля 2020

$GLOBAL - это суперглобальная переменная php, которая возвращает ассоциативный массив, содержащий ссылки на все переменные, которые в настоящее время определены в глобальной области действия сценария. где имена переменных являются ключами массива. Его также можно использовать вместо ключевого слова «global» для доступа к переменным из глобальной области действия

В вашем случае для доступа к $p и $p1 вы можете использовать следующий синтаксис

<?php

$p = 9;
$p1 = 7;

function myTest(){
    static $x = 6;
    var_dump($GLOBALS['p']);
    var_dump($GLOBALS['p1']);
}

myTest();
?>
...