代码说明-php$GLOBALS变量中存储的数组数组
我正在学习基于OOP的登录/注销系统的原理(由phpacademy在YT上提供)。下面是让我头疼的代码:代码说明-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(
$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']部分
非常感谢!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
,值是一个数组:)谢谢你,伙计!只是其中的一种情况,你会陷入困境,这很简单!干杯