需要有关关联数组的 Twig 问题的帮助

Need help on a Twig issue with associative arrays

我的控制器在名为 'petition';

的变量中向 Twig 发送以下关联数组
Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [doctype] => "somedoc"
            [nrdoc] => "99"
            [datadoc] => "2015-01-01"
        )
    [1] => stdClass Object
        (
            [id] => 2
            [doctype] => "otherdoc"
            [nrdoc] => "100"
            [datadoc] => "2015-01-01"
        )
)

然后,在我的 Twig 模板(视图)中,我这样做:

    {% for id in petition %}

        {% if id.doctype == 'somedoc' %}
            {{id.nrdoc}} / {{id.datadoc}}
        {% else %}
                UNDEFINED!
        {% endif %}

    {% endfor %}

问题是我想不通如何只输出一次"UNDEFINED!"的逻辑,如果doctype != "somedoc"中有其他key->value元素时大批。我这样做的方式是,每次脚本循环时它都会输出 "UNDEFINED!"...

提前感谢您的帮助

加布里埃尔

一个变体是为此定义一个额外的变量:

{% set undefined = false %}

{% for id in petition %}
    {% if id.doctype == 'somedoc' %}
        {{ id.nrdoc }} / {{ id.datadoc }}
    {% else %}
        {% set undefined = false %}
    {% endif %}
{% endfor %}

{% if undefined == true %}
    UNDEFINED!
{% endif %}

您可以阅读有关设置 Twig 变量的更多信息 here