使用foreach解析PHP数组

时间:2015-11-06 14:48:00

标签: php facebook

我正在使用Facebook API进行应用程序,该应用程序显示喜欢用户照片的朋友。

我使用代码$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

1 个答案:

答案 0 :(得分: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";
        }
    }
}