当前位置: 首页 > 面试题库 >

如何在Twig模板的for循环中使用break或Continue?

洪俊捷
2023-03-14
问题内容

我尝试使用一个简单的循环,在我的实际代码中,这个循环更加复杂,我需要break像这样的迭代:

{% for post in posts %}
    {% if post.id == 10 %}
        {# break #}
    {% endif %}
    <h2>{{ post.heading }}</h2>
{% endfor %}

我如何使用的行为,breakcontinue在枝杈PHP控制结构?


问题答案:

通过将新变量设置为迭代标志, 几乎 可以完成此操作break

{% set break = false %}
{% for post in posts if not break %}
    <h2>{{ post.heading }}</h2>
    {% if post.id == 10 %}
        {% set break = true %}
    {% endif %}
{% endfor %}

一个丑陋但可行的示例continue

{% set continue = false %}
{% for post in posts %}
    {% if post.id == 10 %}
        {% set continue = true %}
    {% endif %}
    {% if not continue %}
        <h2>{{ post.heading }}</h2>
    {% endif %}
    {% if continue %}
        {% set continue = false %}
    {% endif %}
{% endfor %}

但是, 没有 性能收益,只有类似于内置PHP break和内置continuePHP语句的行为。



 类似资料:
  • 本文向大家介绍Java中break、continue、return在for循环中的使用,包括了Java中break、continue、return在for循环中的使用的使用技巧和注意事项,需要的朋友参考一下 引言:在使用循环的时候,循环里面带有break、continue、return的时候经常弄混,今天特意整理了下,以待后用...  打印结果: 打印结果: 打印结果: 内层for循环结束… 打印

  • 问题内容: 我需要在模板中循环。 它是与预准备数组一起使用的一种方法,还是如何将此功能添加到模板中? 问题答案: 最简单的方法可能是使用和外部函数。例如(播放中): 在模板中:

  • 问题内容: 我使用Twig,并且有一个带有如下键的数组: 我想在循环中获取键和内容以获取此数组的所有值。 我该如何解决这个问题? 问题答案: 我找到了答案:

  • 问题内容: 如何在Django模板中编写数字循环?我的意思是 问题答案: 我使用了一种简单的技术,该技术非常适合没有特殊标签且没有其他上下文的小情况。有时候这很方便

  • 问题内容: 我想做类似的事情: 变量p来自test.py,它是一个列表[‘a’,’b’,’c’,’d’] 结果输出是: 1 2 3 4 问题答案: 您可以使用: 检查模板设计器文档。 在最近的版本中,由于作用域规则,下面的 不 工作:

  • 在Django模板中,我想创建一个遍历列表的for循环。在循环过程中,我还希望能够使用循环的迭代次数。 例如,如果有4个元素,那么: 应打印以下内容: 我该怎么做呢?