![](/img/trans.png)
[英]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.