我在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>
答案 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>