Объяснение кода — массив массивов, хранящихся в переменной php $ GLOBALS

Я изучаю принципы ООП-системы входа / выхода (по 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’]?

  1. обычная переменная имеет $ variableName (so => ​​»GLOBALS)
  2. обычная переменная имеет область видимости, тип и значение (so => ​​array ();)

Что это между «[]»? Имя переменной? Объявление того, что следует за массивом (почему тогда слово массив, после «=»?)

Большое спасибо!

1

Решение

$GLOBALS это массив. Это массив всех глобальных переменных в вашем PHP-скрипте. ['config'] как вы получаете доступ к элементам в массиве в PHP.

в $GLOBALS массив, он устанавливает 'config' ключ к массиву. Этот массив содержит 3 ключа: 'init', 'remember', а также 'session',

0

Другие решения

Я думаю, вам нужно узнать разницу между индексированным массивом и ассоциативным массивом. В 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 для получения дополнительной информации о массивах и их использовании:

Руководство по PHP

1

php.net короток, но достаточно подробен об этом: http://php.net/manual/en/reserved.variables.globals.php

0

В этом случае, config это индекс массива А именно индекс верхнего уровня для $GLOBALS массив.

Ты можешь использовать print_r($GLOBALS) или же var_dump($GLOBALS) чтобы увидеть хорошее представление о структуре массива.

0
По вопросам рекламы [email protected]