我一直在编写一段PHP,它可以提取我所在组织的facebook页面内容,并在网站上动态显示。一切都很好,除了同样的计数。目前,我的点赞数只计算第一篇帖子中的点赞,并将其显示为每条帖子的点赞。这是我的代码:
<div>
<?php
$page_id = 'FacebookPage';
$access_token = 'secretaccesstoken';
$a = 0;
//Get the JSON
$json_object = @file_get_contents('https://graph.facebook.com/FacebookPage/posts? access_token=secretaccesstoken');
//Interpret data
$fbdata = json_decode($json_object);
foreach ($fbdata->data as $post )
{
$likecount = $fbdata->data[0]->likes->data;
$posts .= '<div width="500"><div width="500" style="border: solid; border-color: #82878e; border-width: 1px;"><h4><a href="' . $post->link .'"><img style="float: left; margin: 10;" height ="100" src="' . $post->picture . '" /></a>';
$posts .= '<a href="'. $post->link .'">' . $post->message . '</a></h4>';
$posts .= '<p>' . $post->description . '</p>';
foreach ($likecount as $likes){
$a++;
}
$posts .= '<p>' . $a . ' people like this post </p>
$a = 0;
<p> </p>
</div>
';
}
echo ($posts);
?>
</div>
我怀疑我的问题在第13行,$likecount=$fbdata->data[0]->点赞->data;没有进入下一段数据,所以每次我调用$a时,它都会计算相同的点赞数。但我不知道该怎么修。
有什么帮助吗?
$fbdata->data[0]
-这将始终获取数组的第一个元素(即第一个post)。
因此,只需将$fbdata->data[0]->likes->data;
更改为$post->likes->data;