我正试图通过entities参数获取并显示用php发布在推特中的图像。我在url中包含了entities,并且可以在返回的json中看到这些实体。
在foreach循环中,我正在执行以下操作:
foreach($results as $result){
$media_url = $result->entities->media->media_url;
$media_size_h = $result->entities->media->sizes->small->h;
$media_size_w = $result->entities->media->sizes->small->w;
...
}
然而,这并没有带来任何回报。
对于我的输出,我有。。。
if(strlen($media_url) > 0)
{
//format table for tweets with images
} else {
//format table for regular tweets
}
这是json。。。
array(20) {
[0]=>
object(stdClass)#5 (21) {
...
["entities"]=>
object(stdClass)#7 (4) {
["media"]=>
array(1) {
[0]=>
object(stdClass)#8 (10) {
["type"]=>
string(5) "photo"
["media_url"]=>
string(38) "http://photourl.jpg"
...
["sizes"]=>
object(stdClass)#9 (4) {
["thumb"]=>
object(stdClass)#10 (3) {
["resize"]=>
string(4) "crop"
["h"]=>
int(150)
["w"]=>
int(150)
}
...
}
有什么想法为什么不起作用吗?任何帮助都将不胜感激!
$result->entities->media->
这是一个在结构中看到的数组。。。尝试使用
$media_url = $result->entities->media[0]->media_url;
$results = json_decode($results);
我认为在解码json对象时,更容易了解如何选择项目:)
下次试试:)
我很可能错了,但我相信您需要在if语句中的数字之前和之后使用[]。