В PHP мы можем проверить, существует ли ключ в массиве с помощью функции array_key_exists()
.
На языке шаблонов Twig мы можем проверить, существует ли переменная или свойство объекта, просто используя оператор if
, например:
{% if app.user %} do something here {% else %} do something else {% endif %}
Но как проверить, существует ли ключ массива с помощью Twig? Я пробовал {% if array.key %}
, но это дает мне ошибку:
Key "key" for array with keys "0, 1, 2, 3...648" does not exist
Поскольку одним из основных способов передачи данных в шаблон является использование массивов, кажется, что должен быть какой-то способ сделать это. Есть предположения?
Пример Twig:
{% if array.key is defined %} // do something {% else %} // do something else {% endif %}
Вы можете использовать функцию твинов keys
{% if myVar in someOtherArray|keys %}
default
. default
общего назначения. default
. default
выбирает любые исключения из-за неопределенной переменной и допускает замену короткого замыкания альтернативного значения. default
является цепным. {# - **************************************** тестирование одного ключа в ассоциативном массиве - #} {% - set mystring = myarray ['key-no-existo'] | default ('__ BLANK__') -%} {# - **************************************** тестирование нескольких ключей в ассоциативном массиве - #} {% - set mystring = myarray ['alpha'] | По умолчанию (MyArray [ 'браво']) | По умолчанию (MyArray [ 'чарли']) | По умолчанию ( '__ BLANK__') -%}