2015-04-08 12 views
0

Я хочу получить ленту новостей facebook на моей веб-странице, но Я получаю типичную ошибку, несмотря на процедуру.Недопустимый аргумент, предоставленный для foreach(), в то время как обработка данных в facebook

Предупреждение: Неверный аргумент поставляются для Еогеасп() в /home/u500024704/public_html/fb.php на линии 18

я вставил код в файл 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); 
?> 

Thankyou заранее

+0

сделать var_dump от $ likecount и проверить, если это массив. – rahulinaction

+0

благодарю вас за ответ. но я очень новичок в php, поэтому вам нужно помочь мне с кодом. Я сделал то же самое двумя возможными способами: Снова спасибо заранее –

+0

Вы должны проверить наличие массива. Убедитесь, что массив не пуст, прежде чем прокручивать его с помощью foreach. Вы можете проверить 'if ($ array)' или '$ array?', Чтобы убедиться, что он не пуст перед циклом –

ответ

0

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

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