1

我正在将 Silex 与 Twig 一起使用,并且正在尝试查找密钥的出现。

由于密钥并不总是存在,因此方法 1 将失败并出现异常。另一方面,方法 2 可以正常工作,但是我想避免额外的 forif条件。

这可以做到吗?

方法一:

{% if app.session.get('shop').modules.promotion %}
    exists
{% endif %}

方法二:

{% if app.session.get('shop').modules is not empty %}
    {% for id, config in app.session.get('shop').modules %}
        {% if id == 'promotion' %}
            exists
        {% endif %}
    {% endfor %}
{% endif %}

谢谢!

4

1 回答 1

2

您可以使用is defined.

{% if app.session.get('shop').modules.promotion is defined %}
    exists
{% endif %}

更多信息defined可以在这里找到:
Twig:定义的文档

于 2012-11-11T16:56:18.747 回答