-4

我想在每 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>
4

4 回答 4

2

猜想你已经得到了文件数组:

    $count = 0;
    echo '<div>';
    foreach ($array as $images) {

         echo '<img src="'.$images.'.jpg" />';
         if ($count%3==0) echo '</div><div>'; 
         $count++;
    }
    echo '</div>';
于 2013-03-13T18:07:00.833 回答
2

假设您的数据始终是 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>';  
    }
于 2013-03-13T17:44:51.660 回答
0

这是一个解决方案:

<?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;
于 2013-03-13T17:55:57.483 回答
0

将模数的值更改为按更小/更大的尺寸分组

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>";
于 2013-03-13T17:57:29.860 回答