Ajax — Echo ранее установленный массив в PHP работает в обычном PHP, но не в эхо

Я пытаюсь отобразить массив объектов в PHP с API YouTube. Я могу заставить его работать нормально, когда он находится в обычном встроенном php-коде, но я хотел использовать pjax для разработки сайта, который я использую, поэтому мне нужно, чтобы он отображался в $ body. Код у меня выглядит следующим образом

 <?php
$keyword = "My Keyword";
$key = 'My API Key';
$file = file_get_contents("https://www.googleapis.com/youtube/v3/search?videoEmbeddable=true&videoType=any&part=id%2Csnippet&q=$keyword&videoSyndicated=true&type=video&maxResults=8&key={$key}");

$decoded = json_decode($file, true);

$entries = $decoded['items'];

if (!empty($entries)) {
for($i=0; $i<count($entries); $i++) {
$thumb = $entries[$i]['snippet']['thumbnails']['medium']['url'];
$title = $entries[$i]['snippet']['title'];
$video = $entries[$i]['id']['videoId'];
$content[]= "<a class=\"video-toggle\" href=\"http://youtube.com/embed/$video?modestbranding=1&amp;showinfo=0&amp;autoplay=1\" data-toggle=\"modal\" data-target=\"#videoModal\"><img src=\"$thumb\" alt=\"Play Video\"><h3 class=\"recommendations-title\">$title</h3></a>";
}
}

if (!empty($content)) :
foreach($content as $thumb) :
$recommendedvideos = "<div class='col-md-3 col-sm-6 col-xs-6 col-ts-12       video-box'>$thumb </div> [$i]";
endforeach;
endif;
?>

<?php $body = "$recommendedvideos"; ?>
if(isset($_SERVER['HTTP_X_PJAX']) && $_SERVER['HTTP_X_PJAX'] == 'true'):
else:
echo '<div id="main">'.$body.'</div>';

По какой-то причине я могу получить только последний результат и не знаю почему. Я пробовал несколько разных решений, но не могу понять, почему я возвращаю на страницу только последнее из массива. Как я уже сказал, он работает нормально на обычном встроенном php, но не в echo.

0

Решение

Я думаю, что вы не объединяете свою информацию для $recommendedvideos, Инициируйте это перед вашей петлей: $recommendedvideos = "" а затем изменить его в цикле:

$recommendedvideos .= "<div class='col-md-3 col-sm-6 col-xs-6 col-ts-12 video-box'>$thumb </div> [$i]";

Как вы зациклились $content ты продолжаешь переписывать $recommendedvideos

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]