将li元素分成3个一组


split li elements in group of 3

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

但我想把他们分成3人一组

比如,但我无法使用for loop实现这一点,所以我使用了手动开关的情况,例如,对于介于1和3之间的情况应用row1,而对于介于4和6之间的情况则应用类row2,但是如果有很多产品它会增加li,我需要为每个组编写切换用例,所以有什么方法可以为循环或切换用例编写动态?

<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>

您可以这样工作。

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

您可以使用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%确定你想要的是什么。

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>

这样尝试:

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

试试这个

<?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>