在facebook中获取数据时为foreach()提供的参数无效

时间:2015-04-08 13:46:14

标签: php json facebook facebook-graph-api fbconnect

我想将Facebook壁纸提取到我的网页中,但是 尽管遵循了程序,但我得到了一个典型的错误。

警告:第18行/home/u500024704/public_html/fb.php中为foreach()提供的参数无效

我将代码粘贴到div包装器中的php文件中并将其上传到服务器

代码如下。

<?php
$page_id = 'fbpage';
$access_token = 'app_id';
$a = 0;
//Get the JSON
$json_object = @file_get_contents('https://graph.facebook.com/' . $page_id . 
'/posts?access_token=' . $access_token);
//Interpret data
$fbdata = json_decode($json_object);

foreach ($fbdata->data as $post )
{
$likecount = $post->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>&nbsp;</p>
</div> 
';
}
echo ($posts);
?>

提前谢谢

1 个答案:

答案 0 :(得分:0)

在循环之前确保数组非空是一个好习惯

if ($posts)
{
  foreach ($posts as $post)
  {
     ...
  }
}