Русскоязычная документация по Twig - PHP шаблонизатору. Руководство по Твиг на русском языке
Фильтр merge сливает два массива вместе:
{% set values = [1, 2] %}
{% set values = values|merge(['apple', 'orange']) %}
{# values now contains [1, 2, 'apple', 'orange'] #}
Новые значения добавляются в конце существующих.
Фильтр merge также работает с хешами:
{% set items = { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'unknown' } %}
{% set items = items|merge({ 'peugeot': 'car', 'renault': 'car' }) %}
{# items now contains { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'car', 'renault': 'car' } #}
Для хэшей, процесс слияния происходит по ключам: если ключ не существует, он будет добавлен, но если ключ уже существует, его значение переопределяется.
Если вы хотите убедиться, что некоторые значения определены в массиве (с заданными значениями по умолчанию), поменяйте местами два элемента в вызове:
{% set items = { 'apple': 'fruit', 'orange': 'fruit' } %} {% set items = { 'apple': 'unknown' }|merge(items) %} {# items now contains { 'apple': 'fruit', 'orange': 'fruit' } #}