在foreach中将每行记录分为2行和4行

时间:2016-03-10 07:49:11

标签: php arrays

我想将记录分成每行2和4条记录。喜欢:

--- start for loop -----

<div>record 1 record 2</div>

<div>record 3 record 4 record 5 record 6</div>

<div>record 1 record 2</div>

<div>record 3 record 4 record 5 record 6</div>
 --- end for loop -----

请建议我。

2 个答案:

答案 0 :(得分:2)

使用模数和一些循环

非常容易
$maxrows=100;
for( $i=0; $i < $maxrows; $i++ ){/* your main loop */

    echo '<div>';
    if( $i % 2 == 0 ){/* two records per div */
        for( $j=0; $j < 2; $j++ ) echo ' record_'.( $j+1 );
    } else { /* 4 records per div */
        for( $j=2; $j < 6; $j++ ) echo ' record_'.( $j+1 ); 
    }
    echo '</div>';

}

答案 1 :(得分:1)

您可以将以下代码用于相同的

 <?php
$limit = 2
$count = 1;
foreach($items as $item)
{
  if($count==1){ ?> <div> <?php }

  echo $item;
  $count++;

  if($count>$limit){?> </div> <?php 
  $count = 1;
  $limit = ($limit==2)? 4:2; 
} 

}
?>