gpt4 book ai didi

php - Twig 模板引擎中具有多个元素的 Foreach 循环

转载 作者:可可西里 更新时间:2023-11-01 13:41:15 25 4
gpt4 key购买 nike

我正在使用 Twig 作为我的 PHP 网络应用程序的模板框架。

我想知道是否有一种快速的方法可以在 foreach block 中获取多个元素。

这是我的数据:

users=>[
["name"=>"User1"],
["name"=>"User2"],
["name"=>"User3"],
["name"=>"User4"],
["name"=>"User5"],
["name"=>"User6"]
]

这将是一个标准循环(每个项目):

<ul>
{% for user in users %}
<li>{{ user.name }}</li>
{% endfor %}
</ul>

但这正是我在 n 元素 block 中所需要的(在此示例中为 n=3)

<ul>
<li>User1</li>
<li>User2</li>
<li>User3</li>
</ul>
<ul>
<li>User4</li>
<li>User5</li>
<li>User6</li>
</ul>

在 Twig 中有一种快速的方法可以做到这一点,还是我应该以不同的方式准备数据,再增加一个子数组层?

最佳答案

看起来您需要使用 batch 过滤器:

{% set items = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] %}

<table>
{% for row in items|batch(3, 'No item') %}
<tr>
{% for column in row %}
<td>{{ column }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>

它将呈现:

<table>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
<tr>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
<tr>
<td>g</td>
<td>No item</td>
<td>No item</td>
</tr>
</table>

来源:Twig Documentation

关于php - Twig 模板引擎中具有多个元素的 Foreach 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28982375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com