2016-09-14 42 views
0

我的HTML結構如下:結束語每兩個div在環

<div class="container"> 

<div class=row 1> 
<img src="#" /> 
<img src="#" /> 
</div> 

<div class=row 2> 
<img src="#" /> 
<img src="#" /> 
</div> 

<div class=row 3> 
<img src="#" /> 
<img src="#" /> 
</div> 

</div> 

我會用for each循環。在每循環for each循環後,我想開始新的容器divrow 1,row 2row 3div s。我的意思是主div應包裝3行,每行div將包裝兩個圖像或div。我正在使用一個循環。我應該如何爲此應用for each循環計數器?

+1

請告訴我們您的foreach循環。 –

+0

這聽起來像**'MODULO'的工作** http://php.net/manual/de/internals2.opcodes.mod.php – Xatenev

回答

0

假設您有一組圖像或其他內容要放入這些div。這是你必須做的,那麼你可以根據您的需要或使用您喜歡的編碼風格適應它的概念:

<?php 

$contents = array('img1.jpg','img2.jpg','img3.jpg','img4.jpg','img5.jpg','img6.jpg'); 

echo '<div class="container">'; 

$rowCount = 0; 

foreach ($contents as $key => $value) { 

    if ($key % 2 == 0) { 

     if ($key > 0) { 

      echo "</div><!--close .row-->"; 
     } 

     $rowCount++; 

     echo '<div class="row row' . $rowCount . '"><!--opening .row-->'; 
    } 

    echo '<img src="' . $value . '" alt="This is image: ' . $value . '">'; 

} 

echo '</div><!--close .row-->'; 
echo '</div><!--close .container-->'; 

,它將使:

<div class="container"> 
    <div class="row row1"><!--opening .row--> 
     <img src="img1.jpg" alt="This is image: img1.jpg"> 
     <img src="img2.jpg" alt="This is image: img2.jpg"> 
    </div><!--close .row--> 
    <div class="row row2"><!--opening .row--> 
     <img src="img3.jpg" alt="This is image: img3.jpg"> 
     <img src="img4.jpg" alt="This is image: img4.jpg"> 
    </div><!--close .row--> 
    <div class="row row3"><!--opening .row--> 
     <img src="img5.jpg" alt="This is image: img5.jpg"> 
     <img src="img6.jpg" alt="This is image: img6.jpg"> 
    </div><!--close .row--> 
</div><!--close .container--> 

它將與任何作業量你放入陣列的圖像。

+0

非常感謝您的回答。其實我想要的是每隔兩排後新的容器。 – Javaid

+0

我提供的代碼可以很容易地適用於添加/嵌套更多的div。對不起,如果它不起作用,請給我一個你希望完成什麼的例子?例如通過添加其他if($ key%2 == 0){/ *您的代碼在這裏* /},您可以讓循環添加任何你想要的東西。 – luke

0

您可以使用陣列塊要做到這一點,看看下面的代碼:

foreach (array_chunk($yourArray, 2, true) as $results) 
{ 
    <div class="row"> 
     foreach($results as $result) 
     { 
     //display it here 
     } 
    </div> 
}