我想在每 3 个项目结果上重复一个循环。我正在阅读一个包含 .jpg 的文件夹,并希望将它们分成 3 组。
所以结果看起来像这样:
<div>
<img src="1.jpg"/>
<img src="2.jpg"/>
<img src="3.jpg"/>
</div>
<div>
<img src="4.jpg"/>
<img src="5.jpg"/>
<img src="6.jpg"/>
</div>
我想在每 3 个项目结果上重复一个循环。我正在阅读一个包含 .jpg 的文件夹,并希望将它们分成 3 组。
所以结果看起来像这样:
<div>
<img src="1.jpg"/>
<img src="2.jpg"/>
<img src="3.jpg"/>
</div>
<div>
<img src="4.jpg"/>
<img src="5.jpg"/>
<img src="6.jpg"/>
</div>
猜想你已经得到了文件数组:
$count = 0;
echo '<div>';
foreach ($array as $images) {
echo '<img src="'.$images.'.jpg" />';
if ($count%3==0) echo '</div><div>';
$count++;
}
echo '</div>';
假设您的数据始终是 3 的倍数:
for ($i = 0; $i < $numTotal; $i += 3) {
echo '<div>
<img src="' . $i + 1 . '.jpg"/>
<img src="' . $i + 2 . '.jpg"/>
<img src="' . $i + 3 . '.jpg"/>
</div>';
}
这是一个解决方案:
<?php
$my_array = array();
$my_array[] = "1.jpg";
$my_array[] = "2.jpg";
$my_array[] = "3.jpg";
$my_array[] = "4.jpg";
$my_array[] = "5.jpg";
$my_array[] = "6.jpg";
$content = "";
$i = 0;
foreach($my_array as $img_name)
{
if($i === 0)
{
$content .= "<div>";
}
$content .= "<img src=\"" . $img_name . "\"/>";
$i++;
if($i === 3)
{
$content .= "</div>";
$i = 0;
}
}
echo $content;
将模数的值更改为按更小/更大的尺寸分组
echo "<div>";
for($i=1;$i<=$maxImg;$i++) {
echo "<img src=\"".${i}.".jpg\"/>";
if(mod($i,3) == 0 && $i < $maxImg) {
echo "</div>";
echo "<div>";
}
}
echo "</div>";