Twig不支持do / while?

问题描述 投票:1回答:1

问题是,Twig不支持while(repeat)循环,Twig仅支持For循环!

我写了一个代码,我相信只有使用while循环才能完成!

我在php中的代码是:

$j=0;
$i=0;
do {
    $i=$i+3;
    for ($x=$j;$x=$i;$x++)
        {
            <h1> t[x]</h1>
        }
    }while ($i >= $max); 

我无法将其翻译为Twig,因为twig不支持do / while

另一个示例是php中的for循环:

for ($x = 0; $x <= 10; $x++) {

}

翻译为树枝是:

{% for i in 0..10 %}

{% endfor %}

我的问题是,如果php代码为:

for ($x = 0; $x <= 10; $x++++)

如果是($ x = $ x + 3)而不是($ x = $ x + 1)

php symfony while-loop twig do-while
1个回答
0
投票

Twig内置的..运算符只是范围函数的语法糖(步长为1,如果开始点大于结束点,则为-1):

{% for i in 0..3 %}
    {{ i }},
{% endfor %}

因此,您可以使用range运算符重写它,该运算符也可以使用第3个参数-step

{% for i in range(0, 6, 2) %}
    {{ i }},
{% endfor %}

{# outputs 0, 2, 4, 6, #}

来自:https://twig.symfony.com/doc/2.x/functions/range.html

© www.soinside.com 2019 - 2024. All rights reserved.