如何在不完全覆盖当前内容的情况下将数据添加到JSON文件? (PHP)

时间:2015-08-11 23:17:06

标签: php json overwrite file-put-contents

假设我的服务器上有一个info.JSON文件,其中包含以下数据:

{"firstName":"John","age":"37"}

在PHP中,我想在info.JSON文件中添加另一个键/值对(例如某人的中间名)。 如果我使用file_put_contents()函数,则会完全覆盖该文件。例如:

$middleName = array("middleName" => "Bill");
file_put_contents("info.json",json_encode($middleName));

info.JSON文件的内容现在是:

{"middleName":"Bill"}

如何在不覆盖现有.JSON文件的情况下简单地添加更多键/值对?

感谢。

1 个答案:

答案 0 :(得分:0)

如果你使用带有true标志的json_decode($ json,true),那么它将作为一个关联数组返回。然后你可以在放入文件之前再次使用数组语法和json_encode添加项目。这可能是

$json=file_get_contents('path/to/your/file);
$temp = json_decode($json,true);
$temp['middleName'] ='Bill';
$json = json_encode($temp);
file_put_contents($json);