所以这只是我试图实现的一个例子。
我正在遍历所有项目并只打印那些以 F 开头并用逗号分隔它们的项目。所以最后,循环将进行,例如 15 次迭代,但只会打印 5。我试图捕获最后一个将被打印,所以我可以删除逗号。我尝试使用过滤器 loop.last,但它只有在循环打印最后一个项目时才有效,但如果最后一个打印更早,它仍然带有逗号。
{% for item in items %}
{% if item starts with 'F' %}
{{ item }},
{% endif %}
{% endfor %}
我无法编辑项目中的任何内容。
请帮忙,我已经被困在这个问题上有一段时间了。
最佳答案
更简单的解决方案可能是 Adding a condition到 for 语句并仅在不是第一次交互时才显示逗号(loop.last
在使用循环条件时定义)。例如:
{% set items = ['Fitem1', 'item2', 'Fitem3', 'Fitem4', 'item5'] %}
{% for item in items if item starts with 'F'%}
{% if loop.first == false %},{% endif%}
{{item}}
{% endfor %}
见 this twigfiddle对于工作解决方案
关于php - For 循环的最后一次迭代,如果条件与 Twig ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53288017/