В Twig проверьте, существует ли определенный ключ массива

в PHP мы можем проверить, существует ли ключ в массиве, используя функцию array_key_exists().

в языке шаблонов Twig мы можем проверить, существует ли переменная или свойство объекта просто с помощью if заявления, вроде этого:

{% if app.user %}
do something here
{% else %}
do something else
{% endif %}

но как мы проверяем, если ключ массив существует с помощью Twig? Я пытался!--4-->, но это дает мне ошибку:

Key "key" for array with keys "0, 1, 2, 3...648" does not exist

в качестве одного из основных способов передачи данных в шаблон используется массивы, похоже, должен быть какой-то способ сделать это. Есть мысли?

3 ответов


прутик пример:

{% if array.key is defined %}
  // do something
{% else %}
  // do something else
{% endif %}

можно использовать keys функции прутик

{% if myVar in someOtherArray|keys %}


быстрый ответ (TL;DR)

  • DeveloperTLindel хочет проверить наличие ключа массива в Twig.
  • DeveloperTLindel хочет поймать любые ошибки, связанные с неопределенным ключом.
  • это можно обработать с помощью default фильтр.

Подробный Ответ!--7-->

контекст

  • веточка 2.x (последняя версия as of Wed 2017-03-08)
  • Общецелевое использование default фильтр.