Twig

The flexible, fast, and secure
template engine for PHP

a Symfony Product
Docs Functions range
You are reading the documentation for Twig 2.x. Switch to the documentation for Twig 1.x. 3.x.
Warning Twig version 2.x end of maintenance is scheduled for December 2023.

Questions & Feedback

License

Twig documentation is licensed under the new BSD license.

range

Returns a list containing an arithmetic progression of integers:

1
2
3
4
5
{% for i in range(0, 3) %}
    {{ i }},
{% endfor %}

{# outputs 0, 1, 2, 3, #}

When step is given (as the third parameter), it specifies the increment (or decrement for negative values):

1
2
3
4
5
{% for i in range(0, 6, 2) %}
    {{ i }},
{% endfor %}

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

Note

Note that if the start is greater than the end, range assumes a step of -1:

1
2
3
4
5
{% for i in range(3, 0) %}
    {{ i }},
{% endfor %}

{# outputs 3, 2, 1, 0, #}

The Twig built-in .. operator is just syntactic sugar for the range function (with a step of 1, or -1 if the start is greater than the end):

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

Tip

The range function works as the native PHP range function.

Arguments

  • low: The first value of the sequence.
  • high: The highest possible value of the sequence.
  • step: The increment between elements of the sequence.