2012-07-04 3 views
0

Я использую следующий код, чтобы просмотреть статус пользователя Facebook и отсортировать всех друзей, которые понравились или прокомментировали статус. Затем я добавляю всех этих друзей в свою БД. Проблема, с которой я столкнулась, - это просто комбинировать две петли foreach. Я попробовал array_combine, но это не сработало, поскольку я все еще получаю много дублирующих пользователей Facebook, которые либо несколько раз комментируют статус или комментарий, и как статус.Объединяя массив друзей 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 .' ';}} 
    } 

ответ

0

Есть массив, который вы добавляете весь идентификатор: S, которая либо комментировал или понравившийся статус. Прежде чем добавлять его в массив, проверьте, что он уже не существует.

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

После того, как вы прошли через все понравившиеся комментарии и комментарии, добавьте все значения оттуда в базу данных.

Смежные вопросы