2

所以我有一个现有数组,我想通过它运行一个 for 循环并重新创建新数组。我想弄清楚如何直接在伏特上创建自己的数组。这是我的代码:

{% set oNomesAgendaAmigos = [], oNomesAgendaRecomendado = [], oNomesAgendaAmigosRecomendado = [] %}

  {% for oNomeAgenda in oNomesAgenda %}

    {% set oNomesAgendasTotal = oNomeAgenda.cliente_nome %}

    {% if oNomeAgenda.ind_amigo == 1 %}        
      {% set oNomesAgendaAmigos = oNomeAgenda %}
    {% endif %}

    {% if oNomeAgenda.ind_recomendado == 1 %}
      {% set oNomesAgendaRecomendado = oNomeAgenda.cliente_nome %}
    {% endif %}

    {% if oNomeAgenda.ind_recomendado == 1 AND oNomeAgenda.ind_amigo == 1 %}
      {% set oNomesAgendaAmigosRecomendado = oNomeAgenda.cliente_nome %}
    {% endif %}

  {% endfor %}
4

1 回答 1

1

上次我检查没有在 Volt 中逐位设置表的机制。解决方法是在 Volt 引擎中使用array_merge()或实施自己的过滤器/方法。

无论如何,这有点违反 MVC 原则。您应该在代码的 PHP 部分设置您需要的所有表。

要在循环内循环使用索引的数组,您可以使用该技巧:

{% for index, value in numbers %}
    {{ index }}: {{ value }}
{% endfor %}

我也非常感谢Volt 文档的这一部分。

于 2015-06-22T09:00:19.840 回答