【问题标题】:read object array读取对象数组
【发布时间】:2017-09-24 14:30:12
【问题描述】:

我有一个 json 一个对象数组,我想从中读取

未定义属性:第 56 行 C:\xampp\htdocs\fb\select-action.php 中的 stdClass::$name

这是第 56 行

foreach($data->data as $obj)
  {
    echo   $obj->message.'<br>';
  }

包含对象 json 数组的 $data 变量显示了这种类型的结果

stdClass Object
(
    [data] => Array
        (
            [0] => stdClass Object
                (
                    [comments] => stdClass Object
                        (
                            [data] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [created_time] => 2017-09-19T09:17:24+0000
                                            [from] => stdClass Object
                                                (
                                                    [name] => Hasni_Collections786
                                                    [id] => 581985938822055
                                                )

                                            [message] => :-p ;)
                                            [id] => 737576403263007_737576629929651
                                        )

                                    [1] => stdClass Object
                                        (
                                            [created_time] => 2017-09-24T12:54:28+0000
                                            [from] => stdClass Object
                                                (
                                                    [name] => Hasni_Collections786
                                                    [id] => 581985938822055
                                                )

                                            [message] => :-p
                                            [id] => 737576403263007_740798849607429
                                        )

                                    [2] => stdClass Object
                                        (
                                            [created_time] => 2017-09-24T12:54:31+0000
                                            [from] => stdClass Object
                                                (
                                                    [name] => Hasni_Collections786
                                                    [id] => 581985938822055
                                                )

                                            [message] => :-p
                                            [id] => 737576403263007_740798896274091
                                        )

                                )

                            [paging] => stdClass Object
                                (
                                    [cursors] => stdClass Object
                                        (
                                            [before] => WTI5dGJXVnVkRjlqZAFhKemIzSTZAOek0zTlRjMk5qSTVPVEk1TmpVeE9qRTFNRFU0TVRJMk5EUT0ZD
                                            [after] => WTI5dGJXVnVkRjlqZAFhKemIzSTZAOelF3TnprNE9EazJNamMwTURreE9qRTFNRFl5TlRjMk56RT0ZD
                                        )

                                )

                        )

                    [id] => 581985938822055_737576403263007
                )

        )

    [paging] => stdClass Object
        (
            [cursors] => stdClass Object
                (
                    [before] => Q2c4U1pXNTBYM0YxWlhKNVgzTjBiM0o1WDJsa0R5UTFPREU1T0RVNU16ZAzRNakl3TlRVNkxUZAzNPRE0xTnpJNU9UQTVOekExTVRVNE56SVBER0ZA3YVY5emRHOXllVjlwWkE4ZAk5UZA3hPVGcxT1RNNE9ESXlNRFUxWHpjek56VTNOalF3TXpJMk16QXdOdzhFZAEdsdFpRWlp3T0I4QVE9PQZDZD
                    [after] => Q2c4U1pXNTBYM0YxWlhKNVgzTjBiM0o1WDJsa0R5UTFPREU1T0RVNU16ZAzRNakl3TlRVNkxUZAzNPRE0xTnpJNU9UQTVOekExTVRVNE56SVBER0ZA3YVY5emRHOXllVjlwWkE4ZAk5UZA3hPVGcxT1RNNE9ESXlNRFUxWHpjek56VTNOalF3TXpJMk16QXdOdzhFZAEdsdFpRWlp3T0I4QVE9PQZDZD
                )

        )

)

【问题讨论】:

  • 你意识到一旦它是一个对象数组就不再是 Json 了吗?如果你已经验证了数组的内容是好的,那么它曾经被序列化的Json这个事实是无关紧要的。
  • 您能否编辑您的任务以包含 JSON 字符串。
  • 我有多生气。很抱歉给你带来这样的麻烦。但我的问题仍然相同,我想获取位于消息索引处的值。

标签: php arrays


【解决方案1】:

您的响应似乎是一个混合的 Array/stdObject。如果您给定的输出来自 $data,那么您的 foreach 必须如下所示:

foreach ($data->data[0]->comments->data as $obj) {
    echo $obj->message.'<br>';
}

在某个地方有 json_decode() 吗?似乎有些部分被铸造成阵列或类似的东西。考虑使用 json_decode($json, true),这会将整个结果作为一个数组提供给您,而不会出现这种奇怪的混淆。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    • 2017-07-23
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 2012-07-13
    相关资源
    最近更新 更多