每12个图像的PHP div

每12个图像的PHP div,php,foreach,flickr,Php,Foreach,Flickr,我有一段代码: <? include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" ); $i = 0; foreach($feed['items'] as $item) { preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description

我有一段代码:

<?
include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" );
$i = 0;
    foreach($feed['items'] as $item) {
    preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description'], $matches);
    $img_html = $matches[0];
    $img_src = $matches[1];
    $medium_url = ereg_replace("_m", "_s", $img_src);
        echo "$img_html";
    }

?>

我如何使每N张图片出现在
例如:

<div class="container">
<img src="1.jpg" /> 
<img src="2.jpg" /> 
<img src="3.jpg" /> 
<img src="4.jpg" /> 
<img src="5.jpg" /> 
<img src="6.jpg" /> 
<img src="7.jpg" /> 
<img src="8.jpg" /> 
<img src="9.jpg" /> 
<img src="10.jpg" /> 
<img src="11.jpg" /> 
<img src="12.jpg" /> 
</div>
<div class="container">
<img src="13.jpg" /> 
<img src="14.jpg" /> 
<img src="15.jpg" /> 
<img src="16.jpg" /> 
<img src="17.jpg" /> 
<img src="18.jpg" /> 
<img src="19.jpg" /> 
<img src="20.jpg" /> 
<img src="21.jpg" /> 
<img src="22.jpg" /> 
<img src="23.jpg" /> 
<img src="24.jpg" /> 
</div>

等等

有什么想法吗


非常感谢

您可以使用
%12
进行检查。在循环中添加一个计数器
$j
,在每个循环中递增
$j

$j%12===0
时,您必须通过添加
来更改div


不要忘记第一个和最后一个
标记。

您有一个
$i=0
,但您没有使用它。也没有12行分页算法。在循环中的某个地方尝试一下
$i++
,然后考虑在哪里插入
if($i==12)
if($i%12)
。对不起,我不打算用勺子喂。这是教科书中的一个基本问题。

使用带有计数器的简单for循环代替foreach,然后在计数器上使用MOD来确定当前迭代是否可被N整除

国防部:


For循环:

增加了其他人所说的内容

  • 你应该经常检查报税表 使用前的
    preg_match
    $match
  • ereg\u replace
    已弃用。使用
    preg_替换
    。既然你是 只是做一个文本替换,你呢 应使用
    str\u替换
    • 应该这样做

      <?
      include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" );
          $i = 0;
          echo "<div class='container'>";
          foreach($feed['items'] as $item) 
          {
               if($i % 12 === 0)
                    print "</div><div class='container'>";
               preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description'], $matches);
               $img_html = $matches[0];
               $img_src = $matches[1];
               $medium_url = ereg_replace("_m", "_s", $img_src);
               echo "$img_html";
               $i++;
          }
          print "</div>";
      ?>
      

      关于双div:将检查计数器递增语句下方是否有余数的if语句向下移动,它将不会创建双div:

      <?
      include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" );
      $i = 0;
      echo "<div class='container'>";
      foreach($feed['items'] as $item) 
      {
           preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description'], $matches);
           $img_html = $matches[0];
           $img_src = $matches[1];
           $medium_url = ereg_replace("_m", "_s", $img_src);
           echo "$img_html";
           $i++;
           if($i % 12 === 0)
                print "</div><div class='container'>";
      }
      print "</div>";
      ?>
      

      在进一步分析之前,您必须解析从URLNo返回的JSON,它包含一个双div:-)是的,更改为“if(!$i%12&&$i)”现在我只有一个div(其中包含12个图像中的更多个:-))