Twig

灵活、快速且安全的
PHP 模板引擎

a Symfony Product
您正在阅读 Twig 3.x 的文档。切换到 Twig 1.x, 2.x 的文档。

问题与反馈

许可证

Twig 文档 基于新 BSD 许可证 授权。

reduce

reduce 过滤器使用箭头函数迭代地将序列或映射缩减为单个值,从而将其缩减为单个值。箭头函数接收前一次迭代的返回值以及序列或映射的当前值和键

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

{{ numbers|reduce((carry, v, k) => carry + v * k) }}
{# output 8 #}

reduce 过滤器接受一个 initial 值作为第二个参数

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

请注意,箭头函数可以访问当前上下文。

参数

  • arrow: 箭头函数
  • initial: 初始值

注意

在内部,Twig 使用 PHP 的 array_reduce 函数。