Twig

The flexible, fast, and secure
template engine for PHP

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

Table of Contents

Questions & Feedback

License

Twig documentation is licensed under the new BSD license.

reduce

New in version 1.41: The reduce filter was added in Twig 1.41 and 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-2020 Symfony