2015-11-06 47 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