在 php 代码内生成多个 Div

Generate Multiple Divs within php code

目前我正在尝试遍历一个目录,获取所有 14 个文件名并使用这些文件名生成一些 html。我 运行 遇到了在 PHP 中创建 HTML 元素的问题,现在我只是想生成一个 HTML div 中的图像它和下面的一行文字 14 次。

我试过在 HTML 元素之前和之后放置空的 php 标签,但这没有用,因为 PHP 不允许 php 元素在另一个 php元素.

<?php   
$dir = "classes/1961/*";
     foreach(glob($dir) as $file)
          {
             <?php 
             ?>
                  <div class="cell-1-9">
                       <img src="images/image.jpg">
                       <p>Dylan Miller</p>
                  </div>
             <?php
             ?>   
          }
?>   

我需要另一种在 PHP 中生成 HTML 元素的方法。

<?php   
$dir = "classes/1961/*";
 foreach(glob($dir) as $file)
      { 
        ?>
              <div class="cell-1-9">
                   <img src="images/image.jpg">
                   <p>Dylan Miller</p>
              </div>
         <?php   
      }
?>   

您只需关闭 <?php 标签即可恢复为 html:

<?php   
$dir = "classes/1961/*";
     foreach(glob($dir) as $file)
          {
             ?>
                  <div class="cell-1-9">
                       <img src="<?php echo $file ?>">
                       <p>Dylan Miller</p>
                  </div>
              <?php
          }
?>   

如我的 MVC 项目 PHP-One 中的示例所示,您可以使用所谓的 HEREDOC 语法执行类似的操作:

<?php
foreach($Model as $movie)
{
    echo <<<HTML
        <li class="list-group-item">
            <strong>{$movie->Title}</strong> ({$movie->Rating}) - {$movie->ReleaseDate}
        </li>
HTML;
}
?>

根据您的代码进行调整,尝试类似的操作:

<?php   
$dir = "classes/1961/*";
 foreach(glob($dir) as $file)
      {
         echo <<<HTML
              <div class="cell-1-9">
                   <img src="{$file}">
                   <p>{$file}</p>
              </div>
HTML;
      }
?>   

参考。 https://github.com/DominicArchual/Php-One#define-your-view

脚注:学习 MVC 将使您成为更好的开发人员;也更有价值。

试试 HEREDOC 语法。 我正在粘贴 user1477388 的更正代码:结束 HTML;不得缩进。

<?php   
$dir = "classes/1961/*";
 foreach(glob($dir) as $file)
      {
         echo <<<HTML
              <div class="cell-1-9">
                   <img src="{$file}">
                   <p>{$file}</p>
              </div>
HTML;
      }
?>