7

我正在使用一个 API,它给了我一个看起来像这样的 stdClass 对象(实际数据被替换)

"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 时,我的 Comments 部分将只包含 1 个输入,这是 while 循环中的最后一个输入。因此,它不是应用到底部,而是用新数据替换旧数据。如何解决这个问题?

4

1 回答 1

22

"comments"是一个对象,其键"data"对象数组。您不能在任何语言、JSON、PHPstdClass或其他语言中重复使用相同的密钥。你想制作一个类似对象的数组

$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 回答