PHP中的INI文件到多维数组
我有下一个 INI 文件:
a.b.c = 1
a.b.d.e = 2
我正在使用 parse_ini_file 解析该文件。它返回:
array(
'a.b.c' => 1,
'a.b.d.e' => 2
)
但我想创建一个多维数组。我的输出应该是:
array(
'a' => array(
'b' => array(
'c' => 1,
'd' => array(
'e' => 2
)
)
)
)
提前谢谢你。
I have the next INI file:
a.b.c = 1
a.b.d.e = 2
I am parsing this file using parse_ini_file. And it returns:
array(
'a.b.c' => 1,
'a.b.d.e' => 2
)
But I want to create a multidimensional array. My outout should be:
array(
'a' => array(
'b' => array(
'c' => 1,
'd' => array(
'e' => 2
)
)
)
)
Thank you in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我是这样看的:
This is how I see it:
实际上很简单,您只需通过分解其键来更改已有数组的格式:
输出:
另请参阅: String将数组结构转换为Array。
It's actually quite simple, you only need to change the format of the array you already have by exploding it's key:
Output:
See as well: String with array structure to Array.
查看 Zend_Config_Ini 类。它可以完成您想要的操作,您可以独立使用它(无需 Zend Framework 的其余部分),并且作为奖励,它支持节继承。
使用 toArray 方法,您可以从配置对象创建一个数组。
Have a look at the Zend_Config_Ini class. It does what you want, you can use it standalone (without the rest of Zend Framework) and as a bonus it supports section inheritance.
With the
toArray
method you can create an array from the config object.看看 PHProp。
与
Zend_Config_Ini
类似,但您可以在配置中引用一个键,例如${key}
Take a look at PHProp.
Similar to
Zend_Config_Ini
, but you can refer to a key in your config like${key}
这是我的类,用于将配置 ini 文件解析为多维数组:
It's a my class for parsing config ini files to a multidimensional array: