2015-11-06 46 views
-2

我在做一個使用Facebook API的應用程序,顯示喜歡用戶照片的朋友。PHP Array用foreach解析

我已使用代碼$facebook->api('me/photos?type=uploaded&fields=likes,comments');來顯示提取數據。

然後我用這個循環來顯示數據。

foreach($likes_comments['data'] as $top) { 
    if($top['likes'] != null){ 
     $array = $top['likes']['data'][0]['name']; 
     echo $array; 
    } 
} 

問題是它只顯示每個數組的第一個結果。我也想顯示$top['comments']我的代碼有什麼問題?

這裏是我的陣列的鏈接:http://pastebin.com/raw.php?i=nTzjX705

+0

'$數組[] = $頂部[ '喜歡'] [ '數據'] [0] [ '名'];然後'使用'print_r($ array)' – aldrin27

+0

@ aldrin27我得到這個:http://pastebin.com/raw.php?i=KntwjGuR – tokis

回答

0

有兩組數據,你迭代在這裏。第一組$likes_comments['data']是一組贊/評論。要獲得喜歡,你需要進一步迭代$likeData['likes']['data']。您可以在$likeData['comments']['data']中針對單獨循環中的註釋執行相同操作。使用var_dump來檢查數組可能是瞭解迭代哪些部分的最佳方法的關鍵。

這裏有一個例子讓所有喜歡...

foreach($likes_comments['data'] as $likeData) { 
    if(isset($likeData['likes']['data']) && is_array($likeData['likes']['data'])){ 
     foreach($likeData['likes']['data'] as $like) { 
      echo "$like[name]: $like[id]\n"; 
     } 
    } 
} 
+0

謝謝!你是最好的人! – tokis

+0

我已更新我的問題。似乎你的答案不再有效。請幫幫我。謝謝! – tokis

+0

所以使用'$ likeData ['comments']'有什麼問題?這不是一個更新這是一個不同的問題,問題是「*我可以爲你寫代碼*」。反思方向並運用思想。更有意義。 – Sherif