merge
Фильтр 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' } #}
Примечание
Внутренне Twig использует функцию PHP array_merge. Она поддерживает объекты Traversable, преобразуя их в массивы.
© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/2.x/filters/merge.html