代码说明-php$GLOBALS变量中存储的数组数组

代码说明-php$GLOBALS变量中存储的数组数组,php,arrays,globals,Php,Arrays,Globals,我正在学习基于OOP的登录/注销系统的原理(由phpacademy在YT上提供)。下面是让我头疼的代码: $GLOBALS['config'] = array( 'init' = array( 'hostname' = "127.0.0.1", 'username' = 'root', 'password' = '', 'db' = 'dbName' ), 'remember' = array(

我正在学习基于OOP的登录/注销系统的原理(由phpacademy在YT上提供)。下面是让我头疼的代码:

$GLOBALS['config'] = array(
    'init' = array(
        'hostname' = "127.0.0.1",
        'username' = 'root',
        'password' = '',
        'db' = 'dbName'
    ),
    'remember' = array(
        'cookie_name' = 'hash',
        'cookie_expiry' = 604800
    ),
    'session' = array(
        'session_name' = 'user'
    )
);

spl_autoload_register(function($class){
    require_once 'classes/' . $class . '.php';
});
这显然是一个数组数组,其中包含初始化会话和连接到存储在这些“子数组”中的数据库所需的各种信息位

我不能理解的是一开始——他显然是在将数组数组存储在$GLOBALS变量中;什么是['config']部分

  • 正则变量有$variableName(so=>“全局变量)
  • 正则变量具有作用域、类型和值(so=>array();)
  • 在“[]”之间的是什么?变量名?声明后面是数组(为什么在“=”?”之后是单词数组)


    非常感谢!

    php.net很短,但足够详细:

    在本例中,
    config
    是一个数组索引。也就是说,
    $GLOBALS
    数组的顶级索引


    您可以使用
    print\r($GLOBALS)
    var\u dump($GLOBALS)
    查看数组结构的良好表示。

    $GLOBALS
    是一个数组。它是PHP脚本中所有全局变量的数组。
    ['config']
    是在PHP中访问数组中元素的方式


    $GLOBALS
    数组中,他将
    'config'
    键设置为数组。该数组包含3个键:
    'init'
    'memory'
    ,和
    'session'
    我认为您需要了解索引数组和关联数组之间的区别。在Php中,您可以双向定义
    数组s、 第一个是简单数组:

    $array = array("1", "2", "3"); 
    
    这将创建一个索引数组(对于数组的长度,索引为0-n),您可以这样访问它:

    echo $array[0]; // Would echo "1"
    
    现在非常简单?您可以声明的下一种数组类型是关联数组:

    $array = array("one" => "1", "two" => "2", "three" => "3");
    
    此数组的设置略有不同。您可以为数组定义一个
    key=>value
    对,并使用该
    key
    值访问任何元素,而不是从0开始为数组中的每个元素添加1:

    echo $array["one"]; // Would echo "1"
    
    本质上,
    $GLOBALS
    是一个数组,
    $GLOBALS[“config”]
    是这个数组中的一个关联条目,可以随时使用
    config
    键访问。希望这有意义。有关数组及其用法的更多信息,请查看php手册:


    请参见:特别是:谢谢您的解释,非常感谢!我实际上已经阅读并学习了数组的基本类型:),但这一个给我带来了麻烦。通过类比,全局数组应该有两个键/值对,其中一个键有“config”“。这个有三个键:init、memory和session。这就是为什么confusion@AlexStarbuck:是,
    $GLOBALS
    将有其他键/值对。它包含脚本中的所有全局变量(以变量名为键)$GLOBALS[1]=无论什么$全局[3]=。。。?阿哈!尤里卡时刻:)@AlexStarbuck:是的,但他用
    'config'
    作为键,而不是
    0
    ,值是一个数组:)谢谢你,伙计!只是其中的一种情况,你会陷入困境,这很简单!干杯