相当于Twig中的is_array

时间:2013-10-30 20:47:52

标签: twig

我正在处理模板,我需要检查某些内容是否为数组。我怎么在Twig那样做?

我试过

{% if my_var is iterable %}
  {% for v in my_var %}
      ...
  {% endfor %}
{% else %}
  {{ my_var }}
{% endif %}

但是它总是打印my_var,即使my_var实际上是一个数组,打印时也可以证明

Array
Array
myusername
../data/table.sqlite3

3 个答案:

答案 0 :(得分:4)

另一种方式:

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

答案 1 :(得分:2)

只需添加自定义过滤器:

$twig->addFilter('is_array', new \Twig_Filter_Function('is_array'));

然后像这样使用它:

{% if my_var|is_array %}

答案 2 :(得分:2)

如果您不想创建自定义过滤器,请使用iterable,根据文档:

  

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

{% if myVar is iterable %} ... {% endif %}