2011-05-01 20 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>'); 
}