2015-04-08 99 views
0

我想將Facebook牆提要提取到我的網頁中,但是 儘管遵循了過程,但我仍收到了典型錯誤。提供給foreach()的無效參數,同時在Facebook中提供數據

警告:的foreach()在/home/u500024704/public_html/fb.php供給線路18上

無效參數我粘貼在PHP文件中的代碼一個div包裝和其上傳到服務器

代碼如下。

<?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); 
?> 

三江源提前

+0

做$ likecount的的var_dump並檢查它是否是一個陣列。 – rahulinaction

+0

謝謝你的回覆。但我對PHP非常陌生,所以你必須幫我編寫代碼。我以兩種可能的方式做了同樣的事情 再次感謝您提前 –

+0

您應該檢查數組的存在性,即確保在使用foreach循環訪問數組之前數組不是空的。您可以檢查 'if($ array)'或'$ array?',以確保它在循環之前是非空的 –

回答

0

它始終是一個很好的做法,以確保數組非空,通過它循環之前

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