PHP循环被4分割
我如何完成这个PHP任务 我有一个无序的html列表和数组。 我的代码向数组中的每个项添加列表标记,以创建一个大的无序列表PHP循环被4分割,php,html,loops,Php,Html,Loops,我如何完成这个PHP任务 我有一个无序的html列表和数组。 我的代码向数组中的每个项添加列表标记,以创建一个大的无序列表 <ul> <?php foreach ($rows as $id => $row): ?> <li><?php print $row ?></li> <?php en
<ul>
<?php foreach ($rows as $id => $row): ?>
<li><?php print $row ?></li>
<?php endforeach; ?>
</ul>
电流输出低于
<ul>
<li>01</li>
<li>02</li>
<li>.....</li>
<li>.....</li>
<li>15</li>
</ul>
- 01
- 02
- 十五
我想要的是拆分列表项,使它们以4个为一组,作为子无序列表。例如,如果数字不能被4整除,那么余数应该是末尾的较小列表
<ul>
<ul>
<li>01</li>
<li>02</li>
<li>.....</li>
<li>.....</li>
</ul>
<ul>
<li>05</li>
<li>06</li>
<li>.....</li>
<li>.....</li>
</ul>
<ul>
<li>09</li>
<li>10</li>
</ul>
</ul>
- 01
- 02
- 05
- 06
- 09
- 十,
提前感谢。
<ul>
<?php foreach ($rows as $id => $row): ?>
<?php if ($id > 0 && $id % 4 === 0): ?>
</ul><ul>
<?php endif ;?>
<li><?php echo $row; ?></li>
<?php endforeach; ?>
</ul>
(请注意,如果$rows
数组的键不仅仅是一个索引号,则需要维护自己的计数器变量。)尝试以下方法:
<?php
$rows = array("2","3","5","6","8","9","0","3","5");
$i =0;
foreach ($rows as $id => $row):
if($i % 4 == 0)
{ echo "</ul><ul>";}
$i++;
?>
<li><?php print $row ?></li>
<?php endforeach; ?>
</ul>
最后,这就是我想要的解决方案。此解决方案包括一条语句,用于在有许多项不能被四整除时关闭标记,例如,如果总共有五项。多亏了大家,没有你们的投入,我不可能做到这一点
$count;
foreach ($rows as $id => $row)
{
if ($count % 4 == 0)
{
echo "<ul>";
}
echo '<li>' . $row . '</li>';
if ($count % 4 == 3 || $count == count($rows)-1)
{
echo "</ul>";
}
$count++;
}
$count;
foreach($id=>$row的行)
{
如果($count%4==0)
{
回声“”;
}
回显“- ”.$row.“
”;
如果($count%4==3 | |$count==count($rows)-1)
{
回声“
”;
}
$count++;
}
让您循环维护一个计数器,当计数器达到提供mod 0的值时,您在循环的开始和结束处绘制一个
,以及一个开始
和结束
,非常感谢您的回答。非常感谢。最后我使用了这个解决方案,因为以后数组可能会更改为关联数组。@n00b13:请注意,如果数组是关联的,这个解决方案(也)将不起作用:foreach
将覆盖$id
。非常感谢。请参阅下面我的最终代码。我已经包含了一个语句来关闭列表末尾的标记,不管它是否可以被4整除。
<?php
$rows = array("2","3","5","6","8","9","0","3","5");
$i =0;
foreach ($rows as $id => $row):
if($i % 4 == 0)
{ echo "</ul><ul>";}
$i++;
?>
<li><?php print $row ?></li>
<?php endforeach; ?>
</ul>
$count;
foreach ($rows as $id => $row)
{
if ($count % 4 == 0)
{
echo "<ul>";
}
echo '<li>' . $row . '</li>';
if ($count % 4 == 3 || $count == count($rows)-1)
{
echo "</ul>";
}
$count++;
}