0

次のコードを使用して、Facebook ユーザーのステータスを確認し、そのステータスに「いいね!」またはコメントしたすべての友達を並べ替えます。次に、それらの友達をすべて自分の DB に追加します。私が抱えている問題は、単に 2 つの 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 に答える