gpt4 book ai didi

php - 将数组转换为 .ini 文件

转载 作者:可可西里 更新时间:2023-11-01 12:35:37 27 4
gpt4 key购买 nike

我需要将一个.ini 文件解析成一个数组,然后更改数组的值并将其导出到同一个.ini 文件。我设法读取了该文件,但没有找到任何简单的方法将其写回。有什么建议吗?

示例 .ini 文件:

1 = 0;
2 = 1372240157; // timestamp.

最佳答案

为了写回 .ini 文件,您需要创建自己的函数,因为 PHP 除了读取功能外没有提供开箱即用的功能(可以在这里找到:http://php.net/manual/pl/function.parse-ini-file.php) .

可能将多维数组封装到 .ini 语法兼容字符串的函数示例可能如下所示:

function arr2ini(array $a, array $parent = array())
{
$out = '';
foreach ($a as $k => $v)
{
if (is_array($v))
{
//subsection case
//merge all the sections into one array...
$sec = array_merge((array) $parent, (array) $k);
//add section information to the output
$out .= '[' . join('.', $sec) . ']' . PHP_EOL;
//recursively traverse deeper
$out .= arr2ini($v, $sec);
}
else
{
//plain key->value case
$out .= "$k=$v" . PHP_EOL;
}
}
return $out;
}

你可以这样测试:

$x = [
'section1' => [
'key1' => 'value1',
'key2' => 'value2',
'subsection' => [
'subkey' => 'subvalue',
'further' => ['a' => 5],
'further2' => ['b' => -5]]]];
echo arr2ini($x);

(请注意,短数组语法仅在 PHP 5.4+ 之后可用。)

另请注意,它不会保留您问题中出现的评论。当更新文件的是软件(而不是人)时,没有简单的方法来记住它们。

关于php - 将数组转换为 .ini 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17316873/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com