php - For 循环的最后一次迭代,如果条件与 Twig

标签 php loops for-loop if-statement twig

所以这只是我试图实现的一个例子。
我正在遍历所有项目并只打印那些以 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/

相关文章:

php - Symfony2 - 如何设置 Controller createForm 函数使用的实体管理器?

php - 简单的 PHP : unable to execute C++ from php

python - 从txt文件Python创建字典

loops - Ada - 除一个 float 并循环它直到它达到零

R:具有不同条件的 For 循环用相同的数据填充 2 个向量

objective-c - 如何最小化数组访问次数

php - 如何去除转推的开头?

php - 在 php 中创建独特的民意调查/投票/调查

python - 以更好、更短的方式重写双循环

c - 需求中的 for 循环错误 (C)