2016-11-12 109 views
0

我如何從Facebook Graph Api訪問帖子數據,如[message]和[created_time]?如何訪問數組中的數組?

這裏是JSON的print_r的,這我從Facebook圖形API獲得

Array 
( 
[posts] => Array 
    ( 
     [data] => Array 
     ( 
      [0] => Array 
      ( 
      [message] => random message. 
      [created_time] => 2016-11-12T07:26:23+0000 
      [id] => id786456786 
      )             
      [1] => Array 
      ( 
      [message] => random message. 
      [created_time] => 2016-11-11T04:30:02+0000 
      [id] => id123456768 
      ) 
     ) 
     [paging] => Array 
     ( 
     [previous] => https://graph.facebook.com/v2.8/pageid/posts?limit=2&since=1478935583&access_token=MY ACCESS TOKEN ....   
     ) 
    ) 
    [id] => id 
) 

我的PHP代碼:

$data = file_get_contents("https://graph.facebook.com/v2.8facebookpageid?fields=posts.limit(2)&access_token=MY_ACCESS_TOKEN"); 

$decoded = json_decode($data,true); 

print_r($decoded); 

任何幫助表示讚賞!

+1

'$ array ['key'] ['subkey'] ['subsubkey']'etc – JimL

+0

'$ decode ['posts'] ['data'] [0] ['message']' – SergeyLebedev

+0

Thanks guys for幫助! – Gintas

回答

0

您只需簡單地按照陣列的關鍵:

$decoded = json_decode($data, true); 

// Retrieve the first message. 
$message = $decoded['posts']['data'][0]['message'] 

// Retrieve the second message. 
$message = $decoded['posts']['data'][1]['message'] 

更妙的是,你可以遍歷$decoded['posts']['data']像這樣:

$decoded = json_decode($data, true); 

foreach ($decoded['posts']['data'] as $item) { 
    echo "Message: {$item['message']}\n"; 
    echo "Created Time: {$item['created_time']}\n"; 
} 

瞭解更多關於PHP Array here

希望得到這個幫助!

+0

感謝您的幫助! – Gintas