2011-05-01 19 views
0

我有点奇怪的问题。PHP - 在foreach循环中的特定结果之后添加div标签

我想在我的foreach循环中达到一定数量后,在剩余的结果中添加一个div标签。

因此,循环返回6分后的结果,它包装在

代码中,我不得不在此刻返回结果剩下的就是:

foreach ($fpbanners as $banners): 
    <img src="image.jpg" alt="image description" width="773" height="432" /> 
endforeach; 

最后我需要的源代码看起来像下面所示,所以6号后的所有结果都包裹在div标签中

<img src="image.jpg" alt="image description" width="773" height="432" /> 
<img src="image.jpg" alt="image description" width="773" height="432" /> 
<img src="image.jpg" alt="image description" width="773" height="432" /> 
<img src="image.jpg" alt="image description" width="773" height="432" /> 
<img src="image.jpg" alt="image description" width="773" height="432" /> 
<img src="image.jpg" alt="image description" width="773" height="432" /> 
<div class="test"> 
    <img src="image.jpg" alt="image description" width="773" height="432" /> 
    <img src="image.jpg" alt="image description" width="773" height="432" /> 
    <img src="image.jpg" alt="image description" width="773" height="432" /> 
</div> 

任何帮助将不胜感激。

干杯,

回答

2

你将要使用的modulus操作:wiki link

$i=0; 
<div class="test"> 
foreach ($fpbanners as $banners): 
    if ($i % 6 == 0) : 
     </div><div class="test"> 
    endif; 
    <img src="image.jpg" alt="image description" width="773" height="432" /> 
    $i++; 
endforeach; 
</div> 

未经检验的,但一些修补应该得到你想要的东西。

如果你不希望它重复每第6个结果,那么你只需要==而不是modulus运算符(%)。


UPDATE

While循环例如:

$i=0; 
$max = count($fpbanners); 
echo '<div class="test">'; 
while ($i < $max) { 
    if ($i % 6 == 0) { 
      echo '</div><div class="test">'; 
    } 

    echo '<img src="' . $fpbanners[$i] . '" alt="image description" width="773" height="432" />'; 
    $i++; 
} 

不知道你的阵列是如何构成等,这是我能为你做什么,一个粗略的例子是最好的。

+0

有没有办法做同样的事情在一个while循环? – BigJobbies 2011-05-01 15:08:26

+0

美丽......太棒了..谢谢 – BigJobbies 2011-05-01 15:13:52

0

使用一个计数器

$i = 0; 
foreach ($fpbanners as $banners) { 
    $i++ 

    if ($i > 6) { 
     print('<div class="test">'); 
    } 

    print('<img src="image.jpg" alt="image description" width="773" height="432" />'); 
} 

if ($i > 6) { 
    print('</div>'); 
} 

或者如果数组包含漂亮的数字键(读0,1,2,3,等)

foreach ($fpbanners as $index=>$banners) { 
    if ($index > 5) { 
     print('<div class="test">'); 
    } 

    print('<img src="image.jpg" alt="image description" width="773" height="432" />'); 
} 

if ($index > 5) { 
    print('</div>'); 
}