Twig не поддерживает do / while? - PullRequest
1 голос
/ 21 марта 2020

Проблема в том, что Twig не поддерживает while (повтор) l oop, поддержка Twig Только для l oop!

Я написал код и считаю, что это можно сделать только с помощью while l oop!

Мой код в 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

Другим примером здесь является для l oop в php:

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)

1 Ответ

0 голосов
/ 21 марта 2020

Встроенный оператор Twig .. - это просто syntacti c сахар для функции диапазона (с шагом 1 или -1, если начало больше конца):

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

Следовательно, вы можете переписать его с помощью оператора range, который также может принимать третий параметр - 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

...