Как я могу сохранить изображения в массиве и с помощью цикла for распечатать их? PHP

#php #html #arrays

#php #HTML #массивы

Вопрос:

Я пытаюсь распечатать изображения с помощью цикла for, но изображения не загружаются.

 <?php
$imagenes = array('1.png', '2.jpg', '3.png', '4.jpg','IMG_0105.JPG');
 ?>
  
   <div class="container">
    <div class="row">
      <div class="col-md">
        <?php
              for ($i=0; $i < 4; $i  ) {
              echo '<img src = "$imagenes[$i]"  width = '100px' height = '100px';>';
              }
         ?>
      </div>
    </div>
  </div>
  

Изображения находятся в той же папке, что и файл .php

Комментарии:

1. echo "<img src='$imagenes[$i]' width='100px' height='100px'>";

Ответ №1:

Редактировать: Добавлены дополнительные решения, основанные на ответе от @nik

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

Убедитесь, что вы используете строку в двойных кавычках. Или используйте конкатенацию строк для создания HTML-тега. Кроме того, в вашем теге image есть точка с запятой внутри, которая может нарушить работу тега.

Итак, вы можете сделать это…

 echo "<img src="{$imagenes[$i]}" width="100px" height="100px">";
  

или

 echo "<img src="" . $imagenes[$i] . "" width="100px" height="100px">";
  

или

 <img src="<?= $imagenes[$i]; ?>" width="100px" height="100px">
  

или

 <img src="<?php echo $imagenes[$i]; ?>" width="100px" height="100px">
  

Ответ №2:

Используйте foreach для этого. А для объединения строки с var — используйте . (точка)

        <?php
             foreach ($imagenes as $image) {
                echo '<img src = "'.$image.'"  width = "100px" height = "100px">';
             }
        ?>
  

Ответ №3:

Это упростило бы задачу:

 <div class="container">
  <div class="row">
    <div class="col-md">
      <?php foreach ($imagenes as $url) { ?>
        <img src="<?php echo $url ?>" width="100px" height="100px">
      <?php } ?>
    </div>
  </div>
</div>
  

Ответ №4:

Я думаю, что это способ экранирования символов, вы можете просто использовать конкатенацию на $images :

 <div class="container">
    <div class="row">
        <div class="col-md">
            <?php
            for ($i=0; $i < 4; $i  ) {
                echo '<img src = '.$imagenes[$i].' width="100px" height ="100px";>';
            }
            ?>
        </div>
    </div>
</div>