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


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

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

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

но как мы проверяем, если ключ массив существует с помощью ветки? Я пытался {% if array.key %}, но это дает мне ошибку:

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

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

3 53

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 (последняя версия Ср 2017-03-08)
  • универсальное использование default фильтр.