[英]PHP create a new <ul> after every fifth element in a while loop
[英]create new ul after every 13 li elements
首先,我不知道如何在php中进行计数,也许有人会推荐我一个不错的阅读源。
第二,我不是要为我解决这个问题,而是只需要一个有意义的提示或更简单的解释即可。
这是我的功能:
<ul>
<?php foreach ($categories as $category) { ?>
<li>
<a href="<?php echo $category['href']; ?>"><p><?php echo $category['name']; ?></p></a>
<?php if ($category['children']) { ?>
<div>
<?php for ($i = 0; $i < count($category['children']);) { ?>
<?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
<?php for (; $i < $j; $i++) { ?>
<?php if (isset($category['children'][$i])) { ?>
<ul>
<li class="none"><h1><?php echo $category['children'][$i]['name']; ?></h1></li>
<?php if ($category['children'][$i]['children_level2']) { ?>
<?php for ($wi = 0; $wi < count($category['children'][$i]['children_level2']); $wi++) { ?>
<li>
<a href="<?php echo $category['children'][$i]['children_level2'][$wi]['href']; ?>"><?php echo $category['children'][$i]['children_level2'][$wi]['name']; ?></a>
</li>
<?php } ?>
<?php } ?>
</ul>
<?php } ?>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
</li>
<?php } ?>
</ul>
我想要这部分,每13 li个元素创建一个新的.ul。 ./ul。 标签
<?php if (isset($category['children'][$i])) { ?>
<ul>
<li class="none"><h1><?php echo $category['children'][$i]['name']; ?></h1></li>
<?php if ($category['children'][$i]['children_level2']) { ?>
<?php for ($wi = 0; $wi < count($category['children'][$i]['children_level2']); $wi++) { ?>
<li>
<a href="<?php echo $category['children'][$i]['children_level2'][$wi]['href']; ?>"><?php echo $category['children'][$i]['children_level2'][$wi]['name']; ?></a>
</li>
<?php } ?>
<?php } ?>
</ul>
<ul><li>maximum of 13 elements</li></ul>
after 13 <li></li> elements create new <ul></ul> tags and put the 14 <li></li> element into the new <ul></ul> tag
我希望我已经解释了我想做什么,现在我将等待您的回答,
附言:这更多的是我的学习技能,而不是实际的工作,因此谢谢
这很简单。 使用条件
if ($wi && $wi % 13 == 0) {
print '</ul><ul>';
}
为了计算13个元素,可以使用模运算符%
。 这个想法是,如果$iw
的内容是13的倍数,则($iw % 13)
等于0。( 有关模运算的更多信息,请参见 )
随着if
语句可以插入</ul><ul>
当你在你需要for
循环。
我可以想到两种可能性:
<ul>
或者您可以每次检查$wi
id是否可被13整除:
<?php for ($wi = 0; $wi < count($category['children'][$i]['children_level2']); $wi++) { if ($wi && $wi % 13 == 0) { // output <ul> } } ?>
如果不确定%
含义,请参见相应的PHP手册页
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.