如何使用$ GLOBALS

时间:2015-05-14 20:09:52

标签: php superglobals

我有2个不同的php文件,在其中一个文件中我创建了一个全局数组

$GLOBALS['system'] = array(
    'mysqli' => array(
        'host'      => 'localhost',
        'username'  => 'root',
        'password'  => '',
        'database'  => 'database'
    )
);

如何在另一个文件中使用此数组,例如

$GLOBALS['system']['mysql']['host'];

1 个答案:

答案 0 :(得分:0)

$GLOBALS['system'] = array();

这是不必要的。只是做

$system = array();

现在,你可以在任何你想要的地方使用$system(在其他包括等等),但问题是函数不会看到它due to scope。这意味着每个函数都无权访问$system,因为它不在全局范围内(这是一件好事,因为如果你需要在函数中使用$system怎么办?)现在,你可以总是回到

function foo() {
     echo $GLOBALS['system'];
}

但这很笨重,它依赖$system在某处定义而不是改变。所以让我们注入它

function foo($system) {
     echo $system;
}
foo($system);