TWIG:这种递归迭代有什么问题

时间:2017-02-03 12:33:59

标签: php twig

我使用宏在TWIG中创建了一个递归函数。这个宏应该计算它在嵌套数组中找到描述的次数并返回它。

有人可以帮助我解决出错的问题。小提琴可以在:

找到

https://twigfiddle.com/5uskoi

结果,你可以看到它有4,而它应该是6。

谢谢你的时间!

此致 碧玉

TWIG代码:

{% macro countArray(item) %}
  {% import _self as self %}

    {% set total = 1 %}

    {% for yesItem in item.yes.items %}
      {% set total = total + self.countArray(yesItem) %}
    {% endfor %}

    {% for noItem in item.no.items %}
      {% set total = + total + self.countArray(noItem) %}
    {% endfor %}

    {{ total }}

{% endmacro %}

{% from _self import countArray %}

{% for item in data.items %}

    {{ countArray(item) }}    

{% endfor %}

有这些数据:

data:
    items:                    
        - description: '1'
          yes:
              items:
                  - description: '2'
                  - description: '3'
          no:
              items:                    
                  - description: '4'
                    yes:
                        items:
                            - description: '5'
                            - description: '6'

1 个答案:

答案 0 :(得分:0)

找到解决此问题的方法。我在宏调用后添加了| trim。这会修剪所有空格和其他带有数字的东西。

这导致了将它们加在一起的问题。

twigfiddle已更新此设置以供进一步参考!

此致 碧玉