将li元素拆分为3组

时间:2013-11-28 09:35:23

标签: php for-loop switch-statement grouping

我在li中有元素,它们是使用for循环生成的

但我想将它们分成3组

喜欢,但我无法使用for循环实现这一点,所以我使用手动开关盒例如, 对于1到3之间的情况应用row1,而对于4到6之间的情况应用类row2但是如果 有很多产品会增加li而且我需要为每个组编写switch case,那么有什么方法可以编写动态for循环或switch case?

<li class="row1"></li>
<li class="row1"></li>
<li class="row1"></li>

<li class="row2"></li>
<li class="row2"></li>
<li class="row2"></li>

<li class="row3"></li>
<li class="row3"></li>
<li class="row3"></li>

5 个答案:

答案 0 :(得分:4)

你可以像这样工作。

 <?php for( $i=1; $i<=length of your product;i++)
    {
    $k=0;
        while($k<=3)
    { ?>
        <Li class="row<?php echo $i;?>"></li>

    <?php $k++;
    }
    } ?>

答案 1 :(得分:0)

您可以使用2 for循环执行此操作,例如:

for ($row_id = 1; $row_id <= 3; $row_id++) { // row ids 
  for ($i = 1; $i <= 3; $i++) { // number of list elements you want with each row id
    echo '<li class="row' . $row_id . '"></li>';
  }
}

或者如果你真的希望它们分成三个单独的列表:

for ($row_id = 1; $row_id <= 3; $row_id++) { // row ids 
  echo '<ul>';
  for ($i = 1; $i <= 3; $i++) { // number of list elements you want with each row id
    echo '<li class="row' . $row_id . '"></li>';
  }
  echo '</ul>';
}

不是100%肯定你在问题的措辞中所追求的是什么。

答案 2 :(得分:0)

M不是开关的忠实粉丝,我会更喜欢 MOD功能来实现它,如下所示

    echo "<ul>";
    <?php
    $obj = 0;
    while(//condition)
    {
        echo "<Li class=row.'$obj'></li>";
        if(++$obj % 3 == 0)
        {
           echo"</ul><ul>"; //create new ul list

        }
    }
?>
</ul>

答案 3 :(得分:0)

试试这样:

<?php 
$k = 0; 

for ($i=1; $i < 12; $i++) { 

if($i%3==0){ $k++; echo " $k multiple times <br/>"; }

}

?>

答案 4 :(得分:0)

试试这个

<?php
$k = array('a','b','d','f','bh','r','rr','rrr','eee','www','wwwww','qww','qwq','wqq','wq','qwq','wqw','wqeqwe','aew','qq','wqq','wqwq');
?>
<ul>
<?php
$s=1;
for($i=0;$i<count($k)-1;$i++)
{
    if($i % 3==0){
        $s++; 
    }
    ?>
    <li class="<? echo "row".$s?>"><?=$k[$i]?></li>
    <?php   
}
?>

</ul>
页面源中的

看到像这样的输出

<ul>
    <li class="row2">a</li>
        <li class="row2">b</li>
        <li class="row2">d</li>
        <li class="row3">f</li>
        <li class="row3">bh</li>
        <li class="row3">r</li>
        <li class="row4">rr</li>
        <li class="row4">rrr</li>
        <li class="row4">eee</li>
        <li class="row5">www</li>
        <li class="row5">wwwww</li>
        <li class="row5">qww</li>
        <li class="row6">qwq</li>
        <li class="row6">wqq</li>
        <li class="row6">wq</li>
        <li class="row7">qwq</li>
        <li class="row7">wqw</li>
        <li class="row7">wqeqwe</li>
        <li class="row8">aew</li>
        <li class="row8">qq</li>
        <li class="row8">wqq</li>

</ul>