Twig

The flexible, fast, and secure
template engine for PHP

a Symfony Product
Docs Functions cycle
You are reading the documentation for Twig 3.x. Switch to the documentation for Twig 1.x, 2.x.

Questions & Feedback

License

Twig documentation is licensed under the new BSD license.

cycle

The cycle function cycles on a sequence:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{% set start_year = date() | date('Y') %}
{% set end_year = start_year + 5 %}

{% for year in start_year..end_year %}
    {{ cycle(['odd', 'even'], loop.index0) }}
{% endfor %}

{# outputs

    odd
    even
    odd
    even
    odd
    even
    
#}

The cycle function takes two arguments: the sequence to cycle through and the position in the sequence.

The sequence must be non-empty and can contain any number of values:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{% set fruits = ['apple', 'orange', 'citrus'] %}

{% for i in 0..10 %}
    {{ cycle(fruits, i) }}
{% endfor %}

{# outputs

    apple
    orange
    citrus
    apple
    orange
    citrus
    apple
    orange
    citrus
    apple
    orange

#}

Arguments

  • values: The sequence to cycle on
  • position: The position in the sequence