代码解释 - php $GLOBALS 变量中存储的数组数组
Code explanation - array of arrays stored in php $GLOBALS variable
我正在学习基于 OOP 的 login/logout 系统的原理(通过 YT 上的 phpacademy)。这是让我头疼的代码:
$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';
});
这显然是一个数组数组,其中包含初始化会话和连接到存储在这些 "sub-arrays" 中的数据库所需的各种信息。
我无法理解的是开头 - 他显然将这个数组数组存储在 $GLOBALS 变量中; ['config'] 部分是什么?
- 常规变量有 $variableName(所以 => "GLOBALS)
- 常规变量有作用域、类型和值(所以 => array();)
中间的“[]”是什么?变量的名称?后面是一个数组的声明(为什么在“=”之后是数组这个词?)
非常感谢!
php.net 很短,但足够详细:http://php.net/manual/en/reserved.variables.globals.php
在这种情况下,config
是一个数组索引。即 $GLOBALS
数组的顶级索引。
您可以使用 print_r($GLOBALS)
或 var_dump($GLOBALS)
来查看数组结构的漂亮表示。
$GLOBALS
是一个数组。它是 PHP 脚本中所有全局变量的数组。 ['config']
是您在 PHP.
中访问数组中元素的方式
在$GLOBALS
数组中,他正在将'config'
键设置为一个数组。该数组包含 3 个键:'init'
、'remember'
和 'session'
.
我认为您需要了解索引数组和关联数组之间的区别。在 Php 中,您可以通过两种方式定义 array
。第一个是简单数组:
$array = array("1", "2", "3");
这将创建一个索引数组(索引为 0 - n 表示数组的长度),您可以像这样访问它:
echo $array[0]; // Would echo "1"
现在很直接了吗?您可以声明的下一种数组是关联数组:
$array = array("one" => "1", "two" => "2", "three" => "3");
这个数组的设置略有不同。不是从 0 开始并为数组中的每个元素加 1,而是为数组定义一个 key => value
对,并使用该 key
值访问任何元素:
echo $array["one"]; // Would echo "1"
本质上,$GLOBALS
是一个数组,$GLOBALS["config"]
是这个数组中的关联条目,可以随时使用config
键访问。希望这是有道理的。查看 php 手册以获取有关数组及其用法的更多信息:
我正在学习基于 OOP 的 login/logout 系统的原理(通过 YT 上的 phpacademy)。这是让我头疼的代码:
$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';
});
这显然是一个数组数组,其中包含初始化会话和连接到存储在这些 "sub-arrays" 中的数据库所需的各种信息。
我无法理解的是开头 - 他显然将这个数组数组存储在 $GLOBALS 变量中; ['config'] 部分是什么?
- 常规变量有 $variableName(所以 => "GLOBALS)
- 常规变量有作用域、类型和值(所以 => array();)
中间的“[]”是什么?变量的名称?后面是一个数组的声明(为什么在“=”之后是数组这个词?)
非常感谢!
php.net 很短,但足够详细:http://php.net/manual/en/reserved.variables.globals.php
在这种情况下,config
是一个数组索引。即 $GLOBALS
数组的顶级索引。
您可以使用 print_r($GLOBALS)
或 var_dump($GLOBALS)
来查看数组结构的漂亮表示。
$GLOBALS
是一个数组。它是 PHP 脚本中所有全局变量的数组。 ['config']
是您在 PHP.
在$GLOBALS
数组中,他正在将'config'
键设置为一个数组。该数组包含 3 个键:'init'
、'remember'
和 'session'
.
我认为您需要了解索引数组和关联数组之间的区别。在 Php 中,您可以通过两种方式定义 array
。第一个是简单数组:
$array = array("1", "2", "3");
这将创建一个索引数组(索引为 0 - n 表示数组的长度),您可以像这样访问它:
echo $array[0]; // Would echo "1"
现在很直接了吗?您可以声明的下一种数组是关联数组:
$array = array("one" => "1", "two" => "2", "three" => "3");
这个数组的设置略有不同。不是从 0 开始并为数组中的每个元素加 1,而是为数组定义一个 key => value
对,并使用该 key
值访问任何元素:
echo $array["one"]; // Would echo "1"
本质上,$GLOBALS
是一个数组,$GLOBALS["config"]
是这个数组中的关联条目,可以随时使用config
键访问。希望这是有道理的。查看 php 手册以获取有关数组及其用法的更多信息: