我试图建立一个网站,将目录中的所有图像回显到页面,但是当我回显它们时,它将为每个图像创建一个单独的div。
foreach($images as $img) {
echo "<div class=\"container\"><img class=\"photo\" src=\"{$img['file']}\" {$img['size'][3]} alt=\"\">\n</div>";
}
答案 0 :(得分:5)
将<div>
放在foreach()
循环中:
echo '<div class="container">';
foreach($images as $img) {
echo "<img class=\"photo\" src=\"{$img['file']}\" {$img['size'][3]} alt=\"\">";
}
echo '</div>';
答案 1 :(得分:1)
您必须将div放在foreach之外
echo "<div class=\"container\">";
foreach($images as $img) {
echo "<img class=\"photo\" src=\"{$img['file']}\" {$img['size'][3]} alt=\"\">";
}
echo "</div>";
使用您的实际代码,您可以在每个循环中创建一个<div>
答案 2 :(得分:1)
请尝试此解决方案,也许它可以为您提供帮助:
echo "<div class='container'>";
foreach ($images as $img) {
echo "<img class='photo' src='{$img['file']}' {$img['size'][3]} alt=''>\n</div>";
}
echo "</div>";
答案 3 :(得分:0)
不知道为什么要在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>';
我发现这种方式更清楚