Это ссылки на изображения, которые я хочу вставить в загрузочную карусель:
function display_slides() { $count = 10; $iter = 0; $image_links = ['https://i.imgur.com/9wHVhck.jpg', 'https://i.imgur.com/SpBfUZi.jpg', 'https://i.imgur.com/ZqoEU9o.jpg', 'https://i.imgur.com/n2JY9jj.jpg', 'https://i.imgur.com/yD5I5WH.jpg', 'https://i.imgur.com/JKNnuSE.jpg', 'https://i.imgur.com/YwAmPYu.jpg', 'https://i.imgur.com/T7NBjJm.jpg', 'https://i.imgur.com/ujJ3g1k.jpg']; while ($iter < $count) { if ($iter == 0) { $output .=' <div class="carousel-item active"> <img class="d-block w-100" src="https://i.imgur.com/dCS4tQk.jpg" alt="Background Image"> <div class="container"> <div class="carousel-caption"> <h2>Header</h2> <p>Sample text</p> </div> </div> </div> '; } else { // print_r($image_links[$iter]); $output .=' <div class="carousel-item"> <img class="d-block w-100 src=' . $image_links[$iter] . ' alt="Background Image"> <div class="container"> <div class="carousel-caption"> <h2>Header</h2> <p>Sample text</p> </div> </div> </div> '; } $iter ++; } return $output; }
Я хочу ввести ссылки, находящиеся в $ image_links, в тег src img.Первый слайд (в котором ссылка жестко запрограммирована) работает, а остальные слайды не работают. Ссылка на полный php файл Что я здесь не так делаю?
Я немного очистил код и использовал цикл foreach вместо использования итератора.Я настоятельно рекомендую использовать цикл foreach всякий раз, когда вы хотите получить доступ к массиву, так как обычно его гораздо легче читать.Как и предполагали другие, в атрибуте вашего класса также отсутствовала кавычка, которая также была исправлена ниже.
Использование таких переменных, как число и итератор, не нужно и может стать трудным для чтения, когда вы перейдете в multiмассивы.
function display_slides() { $image_links = ['https://i.imgur.com/9wHVhck.jpg', 'https://i.imgur.com/SpBfUZi.jpg', 'https://i.imgur.com/ZqoEU9o.jpg', 'https://i.imgur.com/n2JY9jj.jpg', 'https://i.imgur.com/yD5I5WH.jpg', 'https://i.imgur.com/JKNnuSE.jpg', 'https://i.imgur.com/YwAmPYu.jpg', 'https://i.imgur.com/T7NBjJm.jpg', 'https://i.imgur.com/ujJ3g1k.jpg']; $output .=' <div class="carousel-item active"> <img class="d-block w-100" src="https://i.imgur.com/dCS4tQk.jpg" alt="Background Image"> <div class="container"> <div class="carousel-caption"> <h2>Header</h2> <p>Sample text</p> </div> </div> </div> '; foreach ($image_links as $image ) { $output .=' <div class="carousel-item"> <img class="d-block w-100 src='.$image.'" alt="Background Image"> <div class="container"> <div class="carousel-caption"> <h2>Header</h2> <p>Sample text</p> </div> </div> </div> '; } } return $output; }
брат.вам не хватает закрывающей кавычки в теге img class="d-block w-100
class="d-block w-100
этот код будет работать для вас идеально ..
$image_links = ['https://i.imgur.com/9wHVhck.jpg', 'https://i.imgur.com/SpBfUZi.jpg', 'https://i.imgur.com/ZqoEU9o.jpg', 'https://i.imgur.com/n2JY9jj.jpg', 'https://i.imgur.com/yD5I5WH.jpg', 'https://i.imgur.com/JKNnuSE.jpg', 'https://i.imgur.com/YwAmPYu.jpg', 'https://i.imgur.com/T7NBjJm.jpg', 'https://i.imgur.com/ujJ3g1k.jpg']; for ($i=0; $i <count($image_links) ; $i++) { // echo $image_links[$i];exit; echo '<div class="carousel-item"> <img class="d-block w-100" src="'.$image_links[$i].'" alt="Background Image"> <div class="container"> <div class="carousel-caption"> <h2>Header</h2> <p>Sample text</p> </div> </div> </div>'; }
I, поскольку существует некоторая синтаксическая ошибка HTML. Вам не даны кавычки (") для src. Это должно быть как показано ниже
} else { $output .=' <div class="carousel-item"> <img style="border:1px solid #0f0" class="d-block w-100 src="'.$image_links[$iter].'" alt="Background Image"> // note the quotes added on src=""
Надеюсь, что все ясно.
Удачного кодирования.
Кажется, вы забыли закрыть атрибут класса.Ваш код
<img class="d-block w-100 src=' . $image_links[$iter] . ' alt="Background Image">
Рабочий код
<img class="d-block w-100" src="'.$image_links[$iter].'" alt="Background Image">