0

可以暂停一个 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>
4

1 回答 1

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 个单独的查询。

于 2012-10-27T20:13:04.560 回答