php - 如何停止或摆脱 Twig 循环?

标签 php symfony loops twig

在 PHP 中,您可以中断循环或继续下一次迭代。我想知道您是否在 Symfony 的 Twig 中拥有相同的功能。

例如,在 PHP 中我可以这样做:

foreach ($array as $key => $value) {
    if ($value == 'something') {
        continue;
    } elseif ($value == 'somethingElse') {
        break;
    }
    echo $value;
}

Twig 中有类似的东西吗?例如:

{% for value in array %}
    {% if value == 'something' %}
    {% continue %}
    {% endif %}
    {% if value == 'somethingElse' %}
    {% break %}
    {% endif %}
    {{ value }}
{% endfor %}

最佳答案

你可以这样做,以模拟模式:

{% set breakLoop = false %}

{% for value in array if breakLoop == false %}
    {% if value == 'somethingElse' %}
        {% breakLoop = true %}
    {% endif %}

    {% if value != 'something' and breakLoop == false %}


        {{ value }}
    {% endif %}
{% endfor %}

只需将代码包裹在条件中即可不继续。

对于中断,使用从 for 循环外部可见的变量。

我想您也可以编写自己的自定义 for 循环。

关于php - 如何停止或摆脱 Twig 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28697427/

相关文章:

php - 如何获得两个 dateTime obj 之间的毫秒数?

php - 在公共(public)私钥加密中创建自己的字符串作为私钥?

php - godaddy VPS 服务器中的 crontab 管理器出现错误

symfony - 如何在symfony 3.1中自定义错误页面模板?

symfony - 将安全上下文注入(inject)(实体监听器)类时的循环引用

php - 尝试以symfony中其访问权限禁止的方式访问套接字

PHP 多个 2/3-D 数组排序、添加、删除

php - Prestashop 1.6 获取模块类的实例

javascript - 字符串中整数的总和 - JS

bash - 如何从 bash 中的文件循环打印 2 列