PHP-如何检查INI配置文件中是否存在节,如果不存在则添加它';不存在


PHP - How to check if a section exists in a INI configuration file and to add it if it doesn't exist

我正在使用parse_ini_file()函数来解析PHP中的配置文件。process_sections参数设置为True,因为我需要这些部分。

[section 1]
key1 = value1
key2 = value2
...
[section 2]
...

我想做的是测试现有配置文件中是否存在一个部分,如果不存在,我想创建它,以及从数组中获取的键和值,而不覆盖其他部分。

我知道在python中有一个布尔方法可以很容易地检查它:config.has_section('my section'),并创建部分:config.add_section('my section')

我想知道PHP中是否有类似的东西。

编辑:

我找到了一个简单但非常有效的解决方案。我使用了array_key_exists('my section', $my_array)函数,它类似于我之前提到的python函数,它实现了我想要的功能。这是我实现的简单代码

$config = parse_ini_file('MyConfigFile.cfg', True);
if (!array_key_exists('section 3', $config)) {
    foreach ($section_three_array as $key => $value) {
        $config['section 3'][$key] = $value;
    }
}

然后,为了将新部分(如果它不存在)及其键和值写回配置文件,我使用了这里定义的函数。

您可以使用isset()检查值是否存在,我建议使用empty()检查它是否也有值。如果您展示一些代码,我们可以建议您实现这些代码。

没有回写ini文件的原生方式,但这里有一个别人做的函数。