我想以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
添加到它是一个数组?
也许有人可以给我一些指示?
答案 0 :(得分:1)
json_decode
解码为对象,而不是数组。您可以将true
作为第二个参数传递,以将其用作数组:
$current = json_decode(file_get_contents($file), true);
您当前尝试将数组与对象合并,因此不支持的操作数类型。