从PHP打开JSON文件以添加更多数据,然后再次保存

时间:2014-05-27 11:45:29

标签: php json session

我想以JSON格式存储会话特定数据。我有这个部分工作,但现在我希望能够将数据附加到此文件。这是我所拥有的信息:

$file = 'sessions/' . session_id() . '.json';

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

if (empty($isEnabled)) {   
        $output1 = array($urlStripped => '<img src="images/error.png" height=20 length=20>');
        $output2 = $output1 + $current;
        $contentToFile = json_encode($output2);
}     
else {
        $output3 = array($urlStripped => '<img src="images/vinkje.png" height=20 length=20>');
        $output4 = $output3 + $current;
        $contentToFile = json_encode($output4);
}
file_put_contents($file, $contentToFile);
header( 'Location: index.php' ) ;

但是这给了我这个错误:PHP Fatal error: Unsupported operand types in [..]。我认为$current是一个dictonary,我试图将$output1添加到它是一个数组?

也许有人可以给我一些指示?

1 个答案:

答案 0 :(得分:1)

json_decode解码为对象,而不是数组。您可以将true作为第二个参数传递,以将其用作数组:

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

您当前尝试将数组与对象合并,因此不支持的操作数类型。