0

我正在使用以下代码查看 Facebook 用户的状态,并对所有喜欢或评论状态的朋友进行排序。然后我将所有这些朋友添加到我的数据库中。我遇到的问题只是将两个 foreach 循环结合起来。我尝试了 array_combine 但这不起作用,因为我仍然有很多重复的 Facebook 用户,他们要么多次评论状态,要么评论并喜欢状态。

非常感谢任何帮助。(此答案中使用的代码:Facebook Graph API - Finding a users top friends

    $statuses = $facebook->api('/me/statuses');
    $user_info = $facebook->api('/me');
    $facebook_id = $user_info['id'];
    foreach($statuses['data'] as $status){
    // processing likes array for calculating fanbase.  


    foreach(($status['likes']['data']) as $likesData){
    $frid = $likesData['id']; 
    $frname = $likesData['name']; 
    $friendArray[$frid] = $frname;
    if($frid!=$facebook_id){
    echo $frid .' ';
    echo $frname .' ';}}

    foreach($status['comments']['data'] as $comArray){
    // processing comments array for calculating fanbase
    $frid = $comArray['from']['id'];
    $frname = $comArray['from']['name'];
    if($frid!=$facebook_id){
    echo $frid .' ';
    echo $frname .' ';}}
    }
4

1 回答 1

0

有一个数组,您可以添加所有已评论或喜欢状态的 id:s。在将其添加到数组之前,请检查它是否不存在。

if(!in_array($id, $user_ids_that_liked_or_commented))
{
    $user_ids_that_liked_or_commented[] = $id;
}

在您浏览完所有喜欢和评论后,将所有值从那里添加到数据库中。

于 2012-07-04T14:50:14.060 回答