我正在使用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文件的原生方式,但这里有一个别人做的函数。