我正在使用Silex和Twig,我正在尝试找到密钥的出现。
由于密钥并不总是存在,因此方法1将失败并出现异常。另一方面,方法2没有错误,但我想避免额外的 for 和 if 条件。
可以这样做吗?
方法1:
{% if app.session.get('shop').modules.promotion %}
exists
{% endif %}
方法2:
{% 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 %}
谢谢!
答案 0 :(得分:2)
您可以使用is defined
。
{% if app.session.get('shop').modules.promotion is defined %}
exists
{% endif %}
有关defined
的更多信息,请点击此处:
Twig: Defined documentation