2016-05-10 37 views
0

我有一個循環我的html標記的問題。我的目標是在「item-wrap」類中包含每個4個div的「item」類。到目前爲止,這裏是我的代碼:如果計數器可被4整除,則創建外部div

$音箱將與4「項」級返回8行,以便「項目 - 包裝」類將顯示兩次內部

<?php 
      $speaker_ctr = 0; 
      if(count($speakers) > 0){ 
      ?> 
      <div class="item-wrap"> 
       <?php foreach($speakers as $speaker){ ?> 
       <div class="item"> <img class="lazy" data-lazy-src="<?php echo $speaker['imagepath']; ?>" /> 
        <h5 class="txt-18 bold-font text-uppercase no-mbt mt-20"><?php echo $speaker['name']; ?></h3> 
        <p class="no-mn"><?php echo $speaker['position']; ?></p> 
        <a href="<?php echo $speaker['url']; ?>" target="_blank" class="txt-14 theme no-mn"><?php echo $speaker['company']; ?></a> 
       </div> 
       <?php } ?> 
      </div> 
      <?php 
       $speaker_ctr++; 
      } 
      ?> 

回答

0

與嘗試 -

 $speaker_ctr = 0; 
     if(count($speakers) > 0){ 
     ?> 
     <div class="item-wrap"> 
      <?php 
      foreach($speakers as $speaker){ 
      $speaker_ctr++; // increment 
      ?> 
      <div class="item"> <img class="lazy" data-lazy-src="<?php echo $speaker['imagepath']; ?>" /> 
       <h5 class="txt-18 bold-font text-uppercase no-mbt mt-20"><?php echo $speaker['name']; ?></h3> 
       <p class="no-mn"><?php echo $speaker['position']; ?></p> 
       <a href="<?php echo $speaker['url']; ?>" target="_blank" class="txt-14 theme no-mn"><?php echo $speaker['company']; ?></a> 
      </div> 
      <?php 
       // print if divisible by 4 
       // every 4th element 
       if($speaker_ctr%4 == 0 && $speaker_ctr != count($speakers)) { 
       echo "</div><div class='item-wrap'>"; 
       } 
      } 
      ?> 
     </div> 
     <?php 
     } 
+0

這樣做可能會導致一個開放的空行,如果最後一個項目是整除4.你應該檢查在的foreach打開的開始一個新行,並在foreach結束時關閉該行。 – Styphon

+0

@Styphon啊!錯過了那一個! –

1

試試下面的代碼: -

<?php 
if(count($speakers) > 0){ 

    for($i=0;$i<=count($speakers);$i++){ 
     if($i%4==0){ 
      echo '<div class="item-wrap">'; 
     } 
    ?> 
     <div class="item"> <img class="lazy" data-lazy-src="<?php echo $speakers[$i]['imagepath']; ?>" /> 
      <h5 class="txt-18 bold-font text-uppercase no-mbt mt-20"><?php echo $speakers[$i]['name']; ?></h3> 
      <p class="no-mn"><?php echo $speakers[$i]['position']; ?></p> 
      <a href="<?php echo $speakers[$i]['url']; ?>" target="_blank" class="txt-14 theme no-mn"><?php echo $speakers[$i]['company']; ?></a> 
     </div> 

    <?php 
     if($i%4==0){ 
      echo '</div>'; 
     } 

    } 
} 
+0

你不需要或者在你的if語句中,如果'$ i = 0',那麼'$ i%4 == 0'將成立。 – Styphon

+0

@Styphon:是的。你是對的。感謝您的建議。 –

+0

這就是我需要的。謝謝! –