Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从外部文件替换数组中的键并将其写回_Php_Arrays_File_Replace_File Get Contents - Fatal编程技术网

Php 从外部文件替换数组中的键并将其写回

Php 从外部文件替换数组中的键并将其写回,php,arrays,file,replace,file-get-contents,Php,Arrays,File,Replace,File Get Contents,我在一个文件中有一个数组,我想更改其中的一个值,并将其像原始文件一样写回文件 包含数组的我的文件: 返回[ “模块”=>[ “测试模块1”=>1, “测试模块2”=>1, ], ]; 我想替换一个值(数字),然后用PHP(如果可能的话)像这样将其写回文件 例如,我想禁用test-module1,并将键设置为0。最好的方法是什么。我现在没有计划 编辑:我知道如何更改密钥,但我不知道如何将其写回文件。我使用JSON完成此操作。但是,如果您绑定到此格式,它将返回一个数组。只需包括、修改和编写: $r

我在一个文件中有一个数组,我想更改其中的一个值,并将其像原始文件一样写回文件

包含数组的我的文件:

返回[
“模块”=>[
“测试模块1”=>1,
“测试模块2”=>1,
],
];
我想替换一个值(数字),然后用PHP(如果可能的话)像这样将其写回文件

例如,我想禁用
test-module1
,并将键设置为
0
。最好的方法是什么。我现在没有计划


编辑:我知道如何更改密钥,但我不知道如何将其写回文件。

我使用JSON完成此操作。但是,如果您绑定到此格式,它将返回一个数组。只需包括、修改和编写:

$result = include('path/to/file.php');
$result['modules']['test-module1'] = 0;
但很难获得这种格式。您可以使用
var\u export()
获得另一种数组格式:

收益率:

return array (
  'modules' =>
  array (
    'test-module1' => 0,
    'test-module2' => 1,
  ),
);
然而,
json\u encode($result,json\u PRETTY\u PRINT)将产生:

{
    "modules": {
        "test-module1": 0,
        "test-module2": 1
    }
}

然后您可以使用
file\u get\u contents()
json\u decode()
。无需
返回

我使用JSON执行此操作。但是,如果您绑定到此格式,它将返回一个数组。只需包括、修改和编写:

$result = include('path/to/file.php');
$result['modules']['test-module1'] = 0;
但很难获得这种格式。您可以使用
var\u export()
获得另一种数组格式:

收益率:

return array (
  'modules' =>
  array (
    'test-module1' => 0,
    'test-module2' => 1,
  ),
);
然而,
json\u encode($result,json\u PRETTY\u PRINT)将产生:

{
    "modules": {
        "test-module1": 0,
        "test-module2": 1
    }
}

然后您可以使用
file\u get\u contents()
json\u decode()
。无需
返回

这似乎是一种格式化数据文件的糟糕方法。最好使用JSON或
serialize()
格式。使用
var\u export
函数您不想这样做。你想对你正在做的事情有一点思考,并想出一个更好的方法。建议您考虑一下@Barmar的建议是什么
*.php
文件?@no2br3ak您的性偏好在这里完全不相关。我们是机会均等的帮手。:)这似乎是格式化数据文件的糟糕方法。最好使用JSON或
serialize()
格式。使用
var\u export
函数您不想这样做。你想对你正在做的事情有一点思考,并想出一个更好的方法。建议您考虑一下@Barmar的建议是什么
*.php
文件?@no2br3ak您的性偏好在这里完全不相关。我们是机会均等的帮手。:)哦,也许不是。当
返回值时,include的结果为真或假。哦,是的,我的测试错误。愚蠢的比利,我。哦,也许不是。当
返回值时,include的结果为真或假。哦,是的,我的测试错误。愚蠢的比利骗了我。