Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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更新/编辑JSON文件_Php_Json - Fatal编程技术网

如何使用PHP更新/编辑JSON文件

如何使用PHP更新/编辑JSON文件,php,json,Php,Json,这是我的JSON [ { "activity_code":"1", "activity_name":"FOOTBALL" }, { "activity_code":"2", "activity_name":"CRICKET" } ] 我需要根据activity\u code将{“activity\u code”:“1”,“activity\u name”:“FOOTBALL”}更新为{“activity\u code”:“

这是我的JSON

[
   {
      "activity_code":"1",
      "activity_name":"FOOTBALL"
   },
   {
      "activity_code":"2",
      "activity_name":"CRICKET"
   }
]
我需要根据
activity\u code
{“activity\u code”:“1”,“activity\u name”:“FOOTBALL”}
更新为
{“activity\u code”:“1”,“activity\u name”:“网球”}


如何在PHP中实现这一点?

首先,您需要对其进行解码:

$jsonString = file_get_contents('jsonFile.json');
$data = json_decode($jsonString, true);
然后更改数据:

$data[0]['activity_name'] = "TENNIS";
// or if you want to change all entries with activity_code "1"
foreach ($data as $key => $entry) {
    if ($entry['activity_code'] == '1') {
        $data[$key]['activity_name'] = "TENNIS";
    }
}
然后重新编码并将其保存回文件:

$newJsonString = json_encode($data);
file_put_contents('jsonFile.json', $newJsonString);

这里的“$data[1]”1表示节点值或活动代码?我更正了它,
$data[0]
实际上是
{“活动代码”:“1”,“活动名称”:“FOOTBALL”}
我需要基于代码,例如{“活动代码”:“TG3”,“活动名称”:“FOOTBALL”}在这种情况下,我需要将ACTIVITY\u CODE-TG3更新为tenniss,比如ACTIVITY\u CODE='TG3'有可能吗?这是sql!请参见我的编辑:)