php - 如何制作具有相同名称的 PHP stdClass 对象?

标签 php object stdclass

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

最佳答案

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

$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);

关于php - 如何制作具有相同名称的 PHP stdClass 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138828/

相关文章:

php - 在 Visual Studio 2015 中缩小 PHP

php - 在 AJAX 请求中设置后 Cookie 不可用

PHP Foreach 数组和对象

php - 如何使用 implode stdClass 对象数组中的列?

php - Codeigniter - 返回我的模型对象而不是 stdClass 对象

php - Laravel Factory - 在单列中生成具有随机迭代量的假 json 数组数据

PHP MYSQL - explode 帮助

javascript - 将对象数组转换为键为 : value dynamic 的 en 对象

javascript - 访问 Javascript 中私有(private)成员的公共(public)方法

object - 在 RavenDB 中存储大文档导致客户端内存不足