将数据附加到 json 负载时出现“致命错误:未捕获错误:无法使用 stdClass 类型的对象作为数组”

Osc*_*gio 5 php arrays json

我需要使用 PHP 将一个新对象附加到 JSON 数组。

JSON:

{
   "maxSize":"3000",
   "thumbSize":"800",
   "loginHistory":[
   {
      "time": "1411053987",      
      "location":"example-city"
   },
   {
      "time": "1411053988",      
      "location":"example-city-2"
   }
]}
Run Code Online (Sandbox Code Playgroud)

到目前为止的 PHP:

$accountData = json_decode(file_get_contents("data.json"));
$newLoginHistory['time'] = "1411053989";
$newLoginHistory['location'] = "example-city-3";
array_push($accountData['loginHistory'],$newLoginHistory);
file_put_contents("data.json", json_encode($accountData));
Run Code Online (Sandbox Code Playgroud)

我不断得到:

致命错误:未捕获错误:无法将 stdClass 类型的对象用作数组

null作为保存 JSON 文件时“loginHistory”对象的输出。

Exp*_*lls 2

$accountData是一个对象,它应该是一个对象。数组访问无效:

array_push($accountData->loginHistory, $newLoginHistory);
// or simply
$accountData->loginHistory[] = $newLoginHistory;
Run Code Online (Sandbox Code Playgroud)