2

次のようなファイルにネストされたjson配列があります。

{
"id": 12345679,
"gid": 6012,
"history": [
    {
        "date": "0000-00-00 00:00:00",
        "rank": 6
    }
]}

json ファイルを読み取って履歴配列に php を追加し、data.jsonという名前のファイルを書き直す方法に興味があります。

これは私がこれまでに得たものです。

$json = file_get_contents('data.json');
$json = (array)json_decode($json);
$output = $json['history'][] = array(
    array('date' => '0000-00-00 00:00:00', 'rank' => 3),
    array('date' => '0000-00-00 00:00:00', 'rank' => 2),
    array('date' => '0000-00-00 00:00:00', 'rank' => 6)
);

  $data = json_encode(array_marge($json, $output));

助けてくれてありがとう!

4

1 に答える 1

0

現在、3つのサブアレイのブロックを追加しています。あなたがしたいことは、それぞれを個別にappeandすることです:

$json['history'][] = array('date' => '0000-00-00 00:00:00', 'rank' => 3);
$json['history'][] = array('date' => '0000-00-00 00:00:00', 'rank' => 2);
$json['history'][] = array('date' => '0000-00-00 00:00:00', 'rank' => 6);

次に、それをとして使用します$output

array_mergeまたは、3エントリリストを入力に追加するために使用します$json["history"]。ただし、最後に試したように、2つのアレイ$jsonをマージしないでください。$output

于 2013-01-13T18:15:16.513 に答える