我正在使用以下代码来查看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 .' ';}}
}
答案 0 :(得分:0)
拥有一个数组,您可以添加已注释或喜欢该状态的所有id:s。在将其添加到数组之前,请检查它是否已存在。
if(!in_array($id, $user_ids_that_liked_or_commented))
{
$user_ids_that_liked_or_commented[] = $id;
}
在完成所有喜欢和评论后,将所有值添加到数据库中。