у меня есть config.ini
файл, который имеет ряд этих типов переменных:
site.social.twitter = "URL"site.social.facebook = "URL"site.social.google-plus = "URL"
Я использую встроенную функцию PHP для анализа INI.
$config = parse_ini_file(__DIR__ ."/../config.ini");
Следующий шаг — это получить (site.social.twitter
)
стать массивом.
$config['site']['social']['twitter']
Вы можете просто «взорвать ()», но это не совсем так. Есть ли более простые решения для чего-то подобного?
Итак, вы можете посмотреть на использование разделов и синтаксиса массива для файлов INI, таких как:
[site]
social[twitter] = URL
social[facebook] = URL
social[google-plus] = URL
Тогда пройдите true
в качестве второго аргумента:
$config = parse_ini_file(__DIR__ ."/../config.ini", true);
Или построить с использованием существующей структуры INI (мне было скучно):
$array = array();
foreach($config as $path => $value) {
$temp = &$array;
foreach(explode('.', $path) as $key) {
$temp =& $temp[$key];
}
$temp = $value;
}
$config = $array;
print_r($config);
Делает просто ссылки $config['site']['social']
получить массив, который вы хотите? Согласно документация это должно привести к:
Array
(
[twitter] => "URL"[facebook] => "URL"[google-plus] => "URL")