我想使用foreach循环“textDisplay”但是我不确定我的php代码的哪一部分是错误的并且它给了我“试图获取非对象的属性”错误
XML
<pre>
{
"kind": "youtube#commentThreadListResponse",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/o6YjewN3UppKqc9x-ZYYa5xYhA8\"",
"pageInfo": {
"totalResults": 9,
"resultsPerPage": 20
},
"items": [
{
"kind": "youtube#commentThread",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/uE9QsmedbKmEauRAmmwW18vNQa8\"",
"id": "z12qxfxr2onpy1b5l04cdfzrgwabir0q4bo",
"snippet": {
"videoId": "Au87oAJ2jeE",
"topLevelComment": {
"kind": "youtube#comment",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/EUV0UwLw788gwYsvyDO2xMRjG8w\"",
"id": "z12qxfxr2onpy1b5l04cdfzrgwabir0q4bo",
"snippet": {
"authorDisplayName": "Randy Taschner",
"authorProfileImageUrl": "https://yt3.ggpht.com/--vE0X3_vDCs/AAAAAAAAAAI/AAAAAAAAAAA/P6kgycrPEZw/s28-c-k-no-mo-rj-c0xffffff/photo.jpg",
"authorChannelUrl": "http://www.youtube.com/channel/UCTRuBHRb4BRFcob-hMj6NnQ",
"authorChannelId": {"value": "UCTRuBHRb4BRFcob-hMj6NnQ"},
"videoId": "Au87oAJ2jeE",
"textDisplay": "Thank you Dan and Envato for creating this video!",
"textOriginal": "Thank you Dan and Envato for creating this video!",
"canRate": true,
"viewerRating": "none",
"likeCount": 1,
"publishedAt": "2015-08-16T05:02:25.000Z",
"updatedAt": "2015-08-16T05:02:25.000Z"
}
},
"canReply": true,
"totalReplyCount": 1,
"isPublic": true
}
}
]
}
我的PHP代码
$json = file_get_contents('https://www.googleapis.com/youtube/v3/commentThreads?part=snippet%2Creplies&videoId='.$videoid.'&key='.$apikey); $ytdata = json_decode($json); foreach($ytdata->items[0]->snippet->topLevelComment->snippet->textDisplay as $hit){ echo $hit; }
由于
答案 0 :(得分:1)
$ytdata->items[0]->snippet->topLevelComment->snippet->textDisplay
不是数组 - 它是一个字符串。
也许你打算循环这些项目?
foreach ($ytdata->items as $item) {
echo $item->snippet->topLevelComment->snippet->textDisplay;
}