小编典典

PHP从文件读取和写入JSON

json

我在文件中有以下JSON list.txt

{
"bgates":{"first":"Bill","last":"Gates"},
"sjobs":{"first":"Steve","last":"Jobs"}
}

如何"bross":{"first":"Bob","last":"Ross"}使用PHP 添加到文件中?

这是我到目前为止的内容:

<?php

$user = "bross";
$first = "Bob";
$last = "Ross";

$file = "list.txt";

$json = json_decode(file_get_contents($file));

$json[$user] = array("first" => $first, "last" => $last);

file_put_contents($file, json_encode($json));

?>

这给了我一个致命错误:无法在此行上将stdClass类型的对象用作数组:

$json[$user] = array("first" => $first, "last" => $last);

我正在使用PHP5.2。有什么想法吗?谢谢!


阅读 446

收藏
2020-07-27

共1个答案

小编典典

错误消息中的线索是-如果您查看文档以json_decode了解它可能需要第二个参数,该参数控制返回数组还是对象-它默认为object。

因此,将您的通话更改为

$json = json_decode(file_get_contents($file), true);

并且它将返回一个关联数组,您的代码应该可以正常工作。

2020-07-27