在 PHP 中对 GLOBALS 数组使用 var_dump() 时出现意外输出

问题描述 投票:0回答:1

下面是我的代码:

    <?php

    $p = 9;
    $p1 = 7;

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

我收到以下错误消息,任何人都可以帮助我理解该输出的含义:

数组(7){ [“_GET”]=>数组(1){ [“_ijt”]=>字符串(26) "ahnjuf13d078eoci4stj3ke4ti" } ["_POST"]=> 数组(0) { } ["_COOKIE"]=> 数组(1) { ["Phpstorm-a9066f19"]=> 字符串(36) "362d152a-496e-48ee-8e53-281e38eefd84" } ["_FILES"]=> 数组(0) { } [“GLOBALS”]=> RECURSION [“p”]=> int(9) [“p1”]=> int(7) } 数组(7) { [“_GET”]=> 数组(1) { [“_ijt”]=> 字符串(26) "ahnjuf13d078eoci4stj3ke4ti" } ["_POST"]=> 数组(0) { } ["_COOKIE"]=> 数组(1) { ["Phpstorm-a9066f19"]=> 字符串(36) "362d152a-496e-48ee-8e53-281e38eefd84" } ["_FILES"]=> 数组(0) { } ["GLOBALS"]=> 递归 ["p"]=> int(9) ["p1"]=> int(7) }

php var-dump
1个回答
1
投票

$GLOBAL
是一个php超级全局变量,它返回一个关联数组,其中包含对当前在脚本全局范围内定义的所有变量的引用。其中变量名称是数组的键。它也可以用来代替“global”关键字来访问全局范围内的变量

在您的情况下,要访问

$p
$p1
,您可以遵循以下语法

<?php

$p = 9;
$p1 = 7;

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

myTest();
?>
© www.soinside.com 2019 - 2024. All rights reserved.