7

このようなstdClassオブジェクトを提供するAPIに取り組んでいます(実際のデータが置き換えられました)

"data": [
    {
      "type": "image",
      "comments": {
        "data": [
          {
            "created_time": "1346054211",
            "text": "Omg haha that's a lot of squats",
            "from": {},
            "id": "267044541287419185"
          },
          {
            "created_time": "1346054328",
            "text": "Fit body",
            "from": {},
            "id": "267045517536841021"
          },
        ]
      },
      "created_time": "1346049912",
    },

同じ名前でデータが異なる複数のサブフィールドを持つ「コメント」のようなstdClassオブジェクトを作成するにはどうすればよいですか。このように見えるstdClassを作成しようとすると、コメントセクションにはwhileループの最後の入力である1つの入力しか含まれません。したがって、下部に適用する代わりに、古いデータを新しいデータに置き換えます。これを修正する方法は?

4

1 に答える 1

22

"comments"オブジェクトの配列であるキー"data"を持つオブジェクトです。同じキーをJSON、PHPなどの言語で再利用することはできません。同様のオブジェクトの配列を作成したいとします。stdClass

$comments = new stdClass;
$comments->data = array();

for ($i = 0; $i < 2; $i++) {
    $comment = new stdClass;
    $comment->text = 'Lorem ipsum...';
    ...
    $comments->data[] = $comment;
}

var_dump($comments);
于 2012-08-27T08:58:12.797 に答える