从外部文件替换数组中的键并将其写回
Replace key in array from external file and write it back
我在文件中有一个数组,我想从中更改一个值并将其像原始文件一样写回文件。
我的数组文件:
return [
'modules' => [
'test-module1' => 1,
'test-module2' => 1,
],
];
我想替换一个值(数字)并用 PHP(如果可能的话)像这样将它写回一个文件。
例如我想禁用 test-module1
并将密钥设置为 0
。什么是最好的方法。我暂时没有计划。
编辑:我知道如何更改密钥,但我不知道如何将其写回文件。
我用 JSON 来做这个。但是,如果您受限于此格式,则它 returns 是一个数组。只需包含、修改和写入:
$result = include('path/to/file.php');
$result['modules']['test-module1'] = 0;
但要获得那种格式会很困难。你会得到另一种数组格式 var_export()
:
file_put_contents('path/to/file.php', 'return ' . var_export($result, true) . ';');
产量:
return array (
'modules' =>
array (
'test-module1' => 0,
'test-module2' => 1,
),
);
然而,json_encode($result, JSON_PRETTY_PRINT);
将产生:
{
"modules": {
"test-module1": 0,
"test-module2": 1
}
}
然后您可以从那里使用 file_get_contents()
和 json_decode()
。不需要 return
.
我在文件中有一个数组,我想从中更改一个值并将其像原始文件一样写回文件。
我的数组文件:
return [
'modules' => [
'test-module1' => 1,
'test-module2' => 1,
],
];
我想替换一个值(数字)并用 PHP(如果可能的话)像这样将它写回一个文件。
例如我想禁用 test-module1
并将密钥设置为 0
。什么是最好的方法。我暂时没有计划。
编辑:我知道如何更改密钥,但我不知道如何将其写回文件。
我用 JSON 来做这个。但是,如果您受限于此格式,则它 returns 是一个数组。只需包含、修改和写入:
$result = include('path/to/file.php');
$result['modules']['test-module1'] = 0;
但要获得那种格式会很困难。你会得到另一种数组格式 var_export()
:
file_put_contents('path/to/file.php', 'return ' . var_export($result, true) . ';');
产量:
return array (
'modules' =>
array (
'test-module1' => 0,
'test-module2' => 1,
),
);
然而,json_encode($result, JSON_PRETTY_PRINT);
将产生:
{
"modules": {
"test-module1": 0,
"test-module2": 1
}
}
然后您可以从那里使用 file_get_contents()
和 json_decode()
。不需要 return
.