Php 如何检查twig文件中是否定义了数组元素?
我正在尝试访问阵列,但无法访问。 在my config.yml中,以下是我的数组:Php 如何检查twig文件中是否定义了数组元素?,php,twig,Php,Twig,我正在尝试访问阵列,但无法访问。 在my config.yml中,以下是我的数组: abc : [xyz] 在另一个文件中,我正在编写以下代码来访问abc数组 {% if abc[0] is defined) %} then do something {% endif %} 但不知怎么的,它不起作用。请帮助我,我是这方面的新手。根据评论,我建议使用foreach循环,并根据索引值定义ifs。大概是这样的: {% for abcs in abc %} {% if (loop.in
abc : [xyz]
在另一个文件中,我正在编写以下代码来访问abc数组
{% if abc[0] is defined) %}
then do something
{% endif %}
但不知怎么的,它不起作用。请帮助我,我是这方面的新手。根据评论,我建议使用foreach循环,并根据索引值定义ifs。大概是这样的:
{% for abcs in abc %}
{% if (loop.index == 0) %}
then do something
{% endif %}
{% endfor %}
BR的这取决于变量是否始终声明: 如果始终声明变量且数组可以为空 Twig中的
不是空的
相当于!在PHP中为空($variable)
。提供数组时,不为空
将检查数组中是否有值和/或值
如果变量不是始终声明的
检查abc
变量是否已声明且不为空:
{% if (abc is declared) and (abc is not empty) %}
{# then do something #}
{% endif %}
Twig中声明的相当于PHP中的isset($variable)
.此时,我无法理解为什么您要尝试使用数组类型,而您可以使用字符串代替,因为我的数组可以有多个元素。其中一个答案解决了您的问题?在第二行中,我们必须编写abc,而不是循环。否。loop.index是正确的。这是文档-@user2831723,您可以使用{%if loop.start%}
,它更简单。(请注意,您的代码有输入错误,)
没有左括号)
{% if (abc is declared) and (abc is not empty) %}
{# then do something #}
{% endif %}