INI文件在PHP多维数组

编程入门 行业动态 更新时间:2024-10-27 07:25:32
本文介绍了INI文件在PHP多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我的下一个INI文件:

I have the next INI file:

a.b.c = 1 a.b.d.e = 2

我使用parse_ini_file解析该文件。并返回:

I am parsing this file using parse_ini_file. And it returns:

array( 'a.b.c' => 1, 'a.b.d.e' => 2 )

不过,我想创建一个多维数组。我outout应该是:

But I want to create a multidimensional array. My outout should be:

array( 'a' => array( 'b' => array( 'c' => 1, 'd' => array( 'e' => 2 ) ) ) )

感谢您提前。

推荐答案

这是我的看法:

<?php class ParseIniMulti { public static function parse($filename) { $ini_arr = parse_ini_file($filename); if ($ini_arr === FALSE) { return FALSE; } self::fix_ini_multi(&$ini_arr); return $ini_arr; } private static function fix_ini_multi(&$ini_arr) { foreach ($ini_arr AS $key => &$value) { if (is_array($value)) { self::fix_ini_multi($value); } if (strpos($key, '.') !== FALSE) { $key_arr = explode('.', $key); $last_key = array_pop($key_arr); $cur_elem = &$ini_arr; foreach ($key_arr AS $key_step) { if (!isset($cur_elem[$key_step])) { $cur_elem[$key_step] = array(); } $cur_elem = &$cur_elem[$key_step]; } $cur_elem[$last_key] = $value; unset($ini_arr[$key]); } } } } var_dump(ParseIniMulti::parse('test.ini'));

更多推荐

INI文件在PHP多维数组

本文发布于:2023-10-31 17:17:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1546754.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:多维   数组   文件   INI   PHP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!