首先,我不知道如何计算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
我希望我解释了我想做的事情,现在我将等待你的回答,
P.S。这更多是为了我的学习技巧和实际工作,所以谢谢你的建议
答案 0 :(得分:0)
这很简单。使用条件
if ($wi && $wi % 13 == 0) {
print '</ul><ul>';
}
答案 1 :(得分:0)
为了计算13个元素,您可以使用模运算符%
。我的想法是($iw % 13)
如果$iw
的内容是13的倍数,则等于0.(see more about the modulo operation)
使用if
语句,您可以在</ul><ul>
循环中根据需要插入for
。
答案 2 :(得分:0)
我能想到两种可能性:
<ul>
或者您可以每次检查$wi
ID是否可以被13整除:
<?php
for ($wi = 0; $wi < count($category['children'][$i]['children_level2']); $wi++) {
if ($wi && $wi % 13 == 0) {
// output <ul>
}
}
?>
如果您不确定%
的含义,请选择适当的PHP manual page