繁体   English   中英

用于多维游戏阵列的Twig循环

[英]Twig loop for multidimansial array

我应该在Twig中循环多维数组

我有一个multidimansial数组,我应该在twig模板中循环。 这足够棘手我需要按键获取第二个数组值。 如果name_pay的值等于Click,我得到第一个是日期和第二个循环的索引,我想获得密钥量的值。 我认为通过我的代码可以更好地理解。

排列

Array
(
[2016-05-31 00:00:00] => Array
    (
        [Основной долг] => Array
            (
                [0] => Array
                    (
                        [type_pay] => 0
                        [oper_type] => 4
                        [name_pay] => CLICK
                        [name_oper] => Основной долг
                        [time_pay] => 2016-05-31 00:00:00
                        [amount] => 1971022
                    )

                [1] => Array
                    (
                        [type_pay] => 1
                        [oper_type] => 4
                        [name_pay] => Наличные
                        [name_oper] => Основной долг
                        [time_pay] => 2016-05-31 00:00:00
                        [amount] => 564550
                    )

                [2] => Array
                    (
                        [type_pay] => 2
                        [oper_type] => 4
                        [name_pay] => Терминал
                        [name_oper] => Основной долг
                        [time_pay] => 2016-05-31 00:00:00
                        [amount] => 122714
                    )

            )

        [Депозит] => Array
            (
                [0] => Array
                    (
                        [type_pay] => 1
                        [oper_type] => 3
                        [name_pay] => Наличные
                        [name_oper] => Депозит
                        [time_pay] => 2016-05-31 00:00:00
                        [amount] => 1175942
                    )

                [1] => Array
                    (
                        [type_pay] => 2
                        [oper_type] => 3
                        [name_pay] => Терминал
                        [name_oper] => Депозит
                        [time_pay] => 2016-05-31 00:00:00
                        [amount] => 1316410
                    )

            )

        [] => Array
            (
                [0] => Array
                    (
                        [type_pay] => 100
                        [oper_type] => 
                        [name_pay] => Терминал
                        [name_oper] => 
                        [time_pay] => 2016-05-31 00:00:00
                        [amount] => 843795
                    )

            )

        [Итого] => Array
            (
                [0] => Array
                    (
                        [click_count] => test
                        [bill_count] => test
                        [terminal_count] => test
                        [time_pay] => 2016-05-01
                        [count_all] => test
                        [name_oper] => Итого
                    )

            )

    )

)

HTML TWIG LOOP

{% for key, rep in reports[1] %}
            <tr>

              <td class="collapsing">
                {{key|date("Y/m/d")}}
              </td>
              {% for key, main in rep %}
                  {% for key, qwerty in main %}
                  {% if name_pay == 'CLICK' %}
                  <td>{{ qwerty.amount }}</td>
                  {% endif %}       
                  <td></td>
                  <td></td>
                  {% endfor %}

              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              {% endfor %}
            </tr>

            {% endfor %}

尝试为第二个循环使用不同的密钥名称。 像这样:

{% for key, rep in reports[1] %}
       <tr>

          <td class="collapsing">
            {{key|date("Y/m/d")}}
          </td>
          {% for mainKey, main in rep %}
            {% if mainKey == 'Основной долг' %}
                {% if main.name_pay == 'CLICK' %}  
                    <td>{{ rep[main.amount] }}</td>
                {% endif %}
          <td></td>
          <td></td>
            {% endif %}

          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          {% endfor %}
        </tr>

        {% endfor %}

如果dumped数组代表报告变量而不是问题:你从哪里得到关键1:报告[1]?

我认为第一个循环应该从

{% for date, loan_reposrt in reports %}
...
{% endfor %}

然后,您将在'date'键中获得报告的日期,并在load_reports变量中显示报告列表,您显然可以通过简单的循环来完成:

{% for report in loan_reports %}
...
{% endfor %}

您的'if'条件将如下所示:

{% if report.name_pay == 'CLICK' %}
...
{% endif %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM