2012-02-28 41 views
6

我試圖通過實體參數獲取並顯示張貼在推文中的圖像。我的url中有include_entities,可以看到返回的json中的實體。從twitter api實體參數獲取圖像url實體參數php

在我的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) 
     } 
... 
} 

任何想法,爲什麼這是不工作?任何幫助將非常感激!

回答

11

$result->entities->media->這是出現在結構數組...嘗試使用

$media_url = $result->entities->media[0]->media_url; 
+0

是的!你是最棒的!謝謝! – Michael 2012-02-28 13:31:08

+0

嗨,我沒有得到media_url字段值,因爲我寫在這裏 - http://stackoverflow.com/questions/24471417/getting-user-tweets-by-twitter-api-call-not-returning-media-url – 2014-06-29 17:55:11

+0

API不久前改變了。現在,如果你想要的媒體網址,你將需要做的: '$ result-> media [0] - > media_url;' – olegario 2017-12-01 11:07:00

-1

我很可能是錯的,但我相信你需要在if語句中的數字之前和之後。

0
$results = json_decode($results); 

我覺得這是很容易看到如何選擇項目,當你解碼JSON對象:)

請嘗試下次:)

+0

下次嘗試介紹你的拼寫和代碼格式:-) – kleopatra 2012-11-15 12:44:59

+0

Lol,nub。一切都是正確的。下次記住你的閱讀。 – 2012-11-15 13:21:50

+0

它現在是正確的,_after_我的編輯..檢查差異,隊友 – kleopatra 2012-11-15 13:36:16