Twig 等价于细枝中的is_数组

Twig 等价于细枝中的is_数组,twig,Twig,我正在处理一个模板,我需要检查某个东西是否是数组。我怎样才能在小树枝上做到这一点 我试过了 {% if my_var is iterable %} {% for v in my_var %} ... {% endfor %} {% else %} {{ my_var }} {% endif %} 但它总是打印我的变量,即使我的变量实际上是一个数组,当它打印出来时就证明了这一点 Array Array myusername ../data/table.sqlite3 另

我正在处理一个模板,我需要检查某个东西是否是数组。我怎样才能在小树枝上做到这一点

我试过了

{% if my_var is iterable %}
  {% for v in my_var %}
      ...
  {% endfor %}
{% else %}
  {{ my_var }}
{% endif %}
但它总是打印我的变量,即使我的变量实际上是一个数组,当它打印出来时就证明了这一点

Array
Array
myusername
../data/table.sqlite3
另一种方式:

{% if my_var.count()>1 %}

只需添加一个自定义过滤器:

$twig->addFilter('is_array', new \Twig_Filter_Function('is_array'));
然后像这样使用它:

{% if my_var|is_array %}

如果您不想创建自定义过滤器,请按照以下文档使用:

iterable检查变量是数组还是可遍历对象


对不起,我删除了上一个答案。。。但是您可以扩展twig,您可能会找到一种方法在那里创建您自己的筛选器。使用此方法时,您必须像这样使用:$twig->addFilter('is_array',new\twig_filter_Function('is_array');或者使用{%is_array(my_var)%}无法对字符串变量(“”)调用方法(“count”)。
{% if myVar is iterable %} ... {% endif %}