在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
由于将数据传递到模板的主要方法之一是使用数组,似乎应该有一些方法来执行此操作。有什么想法吗?
答案 0 :(得分:151)
Twig例子:
{% if array.key is defined %}
// do something
{% else %}
// do something else
{% endif %}
答案 1 :(得分:16)
您可以使用keys
树枝功能
{% if myVar in someOtherArray|keys %}
答案 2 :(得分:1)
default
过滤器处理。default
过滤器的一般用途。default
过滤器。default
过滤器捕获任何异常,并允许替换值的短路替换。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__') -%}