【问题标题】:How to echo multiple images into the same div如何将多个图像回显到同一个div
【发布时间】:2018-11-16 07:52:10
【问题描述】:

我正在尝试创建一个网站,它将目录中的所有图像回显到页面,但是当我回显它们时,它会为每个图像创建一个单独的 div。

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

【问题讨论】:

    标签: php html image foreach echo


    【解决方案1】:

    &lt;div&gt; 放在foreach() 循环周围:

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

    【讨论】:

    • 这个qusten有“\n”所以你需要传递“”标签或“\n”
    • @MHFuad "\n" 在 HTML 中(在视觉上)没有做任何事情,在源代码中,是的,在页面上,没有。而且,没有 标签。
    【解决方案2】:

    请试试这个解决方案,也许对你有帮助:

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

    【讨论】:

      【解决方案3】:

      你必须把 div 放在 foreach 之外

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

      使用您的实际代码,您可以在每个循环中创建一个 &lt;div&gt;

      【讨论】:

        【解决方案4】:

        不知道为什么你在 PHP 端做所有事情,但尽可能避免在 PHP 中使用 HTML,因为它是脏编码。

        我愿意:
        1.将图片设置成变量;
        2.将变量发送到html模板;
        3.在以html为主的模板中循环;

        如果您绝对必须在 PHP 中编写 HTML,那么我会选择 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>';
        

        我觉得这样更清楚

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-08
          • 2012-06-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-30
          • 2015-09-25
          相关资源
          最近更新 更多