如何在PHP中将新记录添加到多维JSon数组中?

时间:2019-05-11 22:18:42

标签: php json

我想在json的“投票”部分添加一个新条目:

["blue",[true, false]] 
{   "votes":[
     ["white",[true, true]],
     ["green",[true, false]]
   ],
   "config":{
      "title":"TEST",
      "options":[
         "first",
         "second"
      ]
   }
}

我的代码:

$jsonString = file_get_contents('./data/'.$_GET['id']);
$data = json_decode($jsonString, true);

// insert a new record
$data[] = array("votes" => "blue",true, true);

$newJsonString = json_encode($data);
file_put_contents('./data/'.$_GET['id'], $newJsonString);

新记录将仅追加到JSon数组中。如何在“投票”部分下获得新条目?

1 个答案:

答案 0 :(得分:0)

您的代码段无效,因为您试图将新值添加到根节点中。另外,您在votes节点内有一个带有布尔值的错字

您应该像这样选择votes节点:

$jsonString = file_get_contents('./data/'.$_GET['id']);
$data = json_decode($jsonString, true);

// insert a new record into votes node
$data['votes'][] = ["blue", [true, true]];

$newJsonString = json_encode($data);
file_put_contents('./data/'.$_GET['id'], $newJsonString);