Как отобразить несколько изображений в один и тот же div

Я пытаюсь создать сайт, который будет отображать все изображения в каталоге на странице, но когда я повторяю их, он создает отдельный div для каждого.

  foreach($images as $img) {
echo "<div class=\"container\"><img class=\"photo\" src=\"{$img['file']}\" {$img['size'][3]} alt=\"\">\n</div>";
}

1

Решение

Поместите <div> вокруг вашего foreach() цикл:

echo '<div class="container">';
foreach($images as $img) {
echo "<img class=\"photo\" src=\"{$img['file']}\" {$img['size'][3]} alt=\"\">";
}
echo '</div>';
5

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

Вы должны поместить div вне foreach

echo "<div class=\"container\">";
foreach($images as $img) {
echo "<img class=\"photo\" src=\"{$img['file']}\" {$img['size'][3]} alt=\"\">";
}
echo "</div>";

С вашим реальным кодом вы создаете <div> каждый цикл

1

Пожалуйста, попробуйте это решение, может быть, оно может помочь вам:

echo "<div class='container'>";
foreach ($images as $img) {
echo "<img class='photo' src='{$img['file']}' {$img['size'][3]} alt=''>\n</div>";
}
echo "</div>";
1

Не уверен, почему вы все делаете на стороне PHP, но избегайте HTML в PHP как можно больше, потому что это грязное кодирование.

Я мог бы:
1. Установите изображения в переменную;
2. Отправьте переменную в шаблон HTML;
3. Зациклите его в шаблоне, где преобладает HTML;

Если вам абсолютно необходимо сделать HTML в PHP, я бы выбрал подход sprintf;

echo '<div class="container">';
foreach ($images as $img) {
echo sprintf(
'<img src="%s" class="img-rounded" alt="%s">',
$img['file'],
$img['filename']
);
}
echo '</div>';

Я нахожу это понятнее

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector