Twig

The flexible, fast, and secure
template engine for PHP

a Symfony Product
Docs Filters reduce
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.

reduce

2.10

The reduce filter was added in Twig 2.10.

The reduce filter iteratively reduces a sequence or a mapping to a single value using an arrow function, so as to reduce it to a single value. The arrow function receives the return value of the previous iteration and the current value of the sequence or mapping:

1
2
3
4
{% set numbers = [1, 2, 3] %}

{{ numbers|reduce((carry, v) => carry + v) }}
{# output 6 #}

The reduce filter takes an initial value as a second argument:

1
2
{{ numbers|reduce((carry, v) => carry + v, 10) }}
{# output 16 #}

Note that the arrow function has access to the current context.

Arguments

  • arrow: The arrow function
  • initial: The initial value
Website powered by Symfony and Twig, deployed on
The Twig logo is © 2010-2024 Symfony