我正在尝试构建一个简单的缓存脚本。它正在运行,但是如果数据缓存在我的现有 JSON中,我想要包含信息。
我试过了:
$cached = file_get_contents("./cache/" . escapeFileName($request));
$update = json_decode(json_encode($cached), true);
$update['server']['cached'] = true;
return json_encode($update);
其中文件的数据是有效的JSON。我只想添加一个包含信息server
的{{1}}节点。该脚本会发出警告并发出致命错误:
PHP警告:非法字符串偏移'服务器'
和
PHP致命错误:不能将字符串偏移用作数组
答案 0 :(得分:1)
是的,你可以先打印数组,然后你会发现它打印的数据是一种对象而不是数组。你只需添加
$update = (array) json_decode(json_encode($cached), true);
输入数据。它将解决您的问题。