php - PHP - 用嵌套循环关闭 div
问题描述
我有一个包含大约 400 张图像的文件夹。我想把它们放在一个页面上,一次只放八个。这意味着我将所有图像都放在同一页面上,但将八张图像分成几部分,包装在这样的盒子中:
<div class="eightbox">
<img src="image1">
<img src="image2">
<img src="image3">
<img src="image4">
<img src="image5">
<img src="image6">
<img src="image7">
<img src="image8">
</div>
<div class="eightbox">
<img src="image9">
<img src="image9">
<img src="image10">
<img src="image11">
<img src="image12">
<img src="image13">
<img src="image14">
<img src="image15">
</div>
现在,到目前为止,我的代码产生了一个输出,但没有关闭“八盒”,因此每个新的 div 都在另一个里面。
这是我的代码:
<?php
$files = glob("images/*.*"); //loads all the images from my folder into an array
$y = ceil(count($files)/8); // The amount of images divided by eight and rounded up
$z = 1; //This counter makes the array continue outside the loop
for ($i=1; $i<$y; $i++)
{
echo '<div class=\'eightbox\'>';
for ($q=0; $q<8; $q++)
{
$num = $files[$z];
echo '<img src=\'' . $num . '\' >';
$z++;
}
echo '</div>';
}
?>
我希望这对您有任何意义,并提前感谢您的帮助!
编辑:根据大众的需求,这是我使用 chrome 获得的代码 截图:我的代码截图
解决方案
另一种方法是将文件分成 8 个块( using array_chunk()
),然后一次输出每个块......
$split = array_chunk($files, 8);
foreach ( $split as $div ) {
echo '<div class=\'eightbox\'>';
foreach ($div as $file ) {
echo '<img src=\'' . $file . '\' />';
}
echo '</div>';
}
或implode()
用于输出数据...
$split = array_chunk($files, 8);
foreach ( $split as $div ) {
echo '<div class=\'eightbox\'><img src=\''.
implode('\' /><img src=\'', $div).
'\' /></div>';
}
恕我直言,可读性较差,但更紧凑。
推荐阅读
- r - 平滑 ggsurvplot 生成的生存曲线?
- r - Web-scraping Rvest - 如何从缩短的 url 中捕获完整的 `href` URL
- c# - 内联“使用 myClass = Namespace.ClassName”可能吗?
- python - Python对索引的二级排序列表,来自多个列表的键
- sql - 如何在 where 子句中使用 NULLIF?
- c - 如何将二维数组静态初始化为指向指针的指针?
- c# - C# 按月分组
- r - 如何通过变量访问作为数字的列的名称
- node.js - 打开终端并启动命令
- android - Android 应用程序通过调试安装运行良好,但在创建应用程序的情况下崩溃(android-debug.apk)