Ответ 1
Пример Twig:
{% if array.key is defined %}
// do something
{% else %}
// do something else
{% endif %}
В 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
twig
{% if myVar in someOtherArray|keys %}
default
.default
общего назначения.default
.default
выбирает любые исключения из-за переменной undefined и допускает замену альтернативного значения на короткое замыкание.default
является цепным.{#- **************************************** testing for a single key in associative array -#} {%- set mystring = myarray['key-no-existo'] |default('__BLANK__') -%} {#- **************************************** testing for a multiple keys in associative array -#} {%- set mystring = myarray['alpha'] |default(myarray['bravo']) |default(myarray['charlie']) |default('__BLANK__') -%}