首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多层数组的Config.ini文件解析

多层数组的Config.ini文件解析
EN

Stack Overflow用户
提问于 2016-03-10 20:43:40
回答 2查看 1.6K关注 0票数 3

我有一个config.ini文件,它有许多这类变量:

代码语言:javascript
复制
site.social.twitter = "URL"
site.social.facebook = "URL"
site.social.google-plus = "URL"

我使用PHP的内置函数来解析INI。

代码语言:javascript
复制
$config = parse_ini_file(__DIR__ ."/../config.ini");

下一步是将这个(site.social.twitter)变成一个数组。

代码语言:javascript
复制
$config['site']['social']['twitter']

你可以只是“爆炸()”,但它不能完全到达那里。有什么更简单的解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-10 21:24:26

好的,您可以查看对INI文件使用节和数组语法,如:

代码语言:javascript
复制
[site]
social[twitter] = URL
social[facebook] = URL
social[google-plus] = URL

然后传递true作为第二个参数:

代码语言:javascript
复制
$config = parse_ini_file(__DIR__ ."/../config.ini", true);

或者使用现有的INI结构(改编自如何通过键名/路径访问和操作多维数组?)进行构建:

代码语言:javascript
复制
$array = array();

foreach($config as $path => $value) {
    $temp = &$array;
    foreach(explode('.', $path) as $key) {
        $temp =& $temp[$key];
    }
    $temp = $value;
}
$config = $array;
print_r($config);
票数 5
EN

Stack Overflow用户

发布于 2016-03-10 20:48:45

简单地引用$config['site']['social']是否为您提供了所需的数组?根据文档,这将产生:

代码语言:javascript
复制
Array
    (
        [twitter] => "URL"
        [facebook] => "URL"
        [google-plus] => "URL"
    )
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35926888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档