可以暂停一个foreach循环,一些代码,然后恢复它?
让我解释一下:我有一个包含9个元素和一些数据的数组。我想循环数组将元素分组三,我想这样做而不创建三个不同的foreach。
像这样:
<div class="first">
<ul>
[start foreach]
<li>Element 1</li>
<p>Element 1 data</li>
<li>Element 2</li>
<p>Element 2 data</li>
<li>Element 3</li>
<p>Element 3 data</li>
[pause foreach]
</ul>
</div>
<div class="second">
<ul>
[start foreach]
<li>Element 4</li>
<p>Element 4 data</li>
<li>Element 5</li>
<p>Element 5 data</li>
<li>Element 6</li>
<p>Element 6 data</li>
[pause foreach]
</ul>
</div>
<div class="third">
<ul>
[start foreach]
<li>Element 7</li>
<p>Element 7 data</p>
<li>Element 8</li>
<p>Element 8 data</p>
<li>Element 9</li>
<p>Element 9 data</p>
[pause foreach]
</ul>
</div>
答案 0 :(得分:0)
使用围绕html的php循环语句是可能的,它有点埋没在php.net手册中,这里是确切的页面,第一个例子应该是你需要的。
http://www.php.net/manual/en/control-structures.alternative-syntax.php
这是我正在处理的页面的示例,它是导航栏的一部分。
<ul class="menu_dropdown">
<?php $categories = Category::find_all();
foreach ($categories as $category) : ?>
<li class="submenu"><a href="products.php?category=<?php echo $category->id?>"><?php echo $category->name."?></a></li>
<?php endforeach?>
</ul>
如果要将其格式化为三个不同的div(列?),可能更容易获取查询数组并使用while或if语句来查看不同的键或值,因为foreach将要执行的操作它们都是一次性的,除非你有3个单独的查询。