如何检查twig文件中是否定义了数组元素?

时间:2016-03-04 07:00:40

标签: php twig

我正在尝试访问数组,但它没有被访问。 在我的config.yml下面是我的数组:

abc : [xyz]

在另一个文件中,我正在编写代码来访问abc数组。

 {% if abc[0] is defined) %}
then do something
  {% endif %}

但不知何故它不起作用。请帮帮我,我是新手。

2 个答案:

答案 0 :(得分:1)

这取决于是否始终声明变量:

如果始终声明变量并且数组可以为空

{% if abc is not empty %}
    {# then do something #}
{% endif %}
Twig中的

<variable> is not empty相当于PHP中的!empty($variable)。提供数组时,is not empty将检查数组中是否有值和/或值。

empty test in Twig documentation

如果不总是声明变量

检查abc变量是否已声明且不为空:

{% if (abc is declared) and (abc is not empty) %}
    {# then do something #}
{% endif %}
Twig中的

<variable> is declared相当于PHP中的isset($variable)

defined test in Twig documentation

答案 1 :(得分:0)

基于评论,我建议使用foreach循环,并根据索引值定义ifs。像这样:

{% for abcs in abc %}
    {% if (loop.index == 0) %}
         then do something
    {% endif %}
{% endfor %}

BR的