Foreach循环遍历两个数据集,并为两者使用相同的循环索引

时间:2016-01-30 17:37:31

标签: php symfony foreach twig

我的用户有activities

每个活动都有一些数据,还有一个startDate

现在我需要在每一天对数据做些什么。从第一个startDate的{​​{1}}开始。所以我开始在twig中进行,但我也可以在PHP中更改逻辑(数组)。

所以我想每天开始循环

activity

所以在上面我会得到我需要的每一天但是在那个日子里我找到了这个循环

{% if start_date is null %}
    {% set start_date = activities.first.startTime|date('d-m-Y') %}
{% endif %}

{% set end_date = date('now') %}

{% for index, date in range(start_date|date('U'), end_date|date('U'), 86400 ) %}

    {{ dump(date|date('d-m-Y')) }}

    {# Now the next line with if else is not working #}
    {# cause I don't know in activities how to be in #}
    {# the right loop position, like:                #}
    {# activities.first, activities.second, ...      #}

    {% if date|date('d-m-Y') ==  activities.startTime|date('d-m-Y') %}
        {{ dump(activity) }}
    {% else %}
        {{ dump(date|date('d-m-Y')) }}
    {% endif %}

{% endfor %}

我需要更改每日数据。考虑将活动数组键更改为日期似乎非常错误。什么是实现我需要的最好和“正确”的方式。

1 个答案:

答案 0 :(得分:2)

如果我正确理解你的问题....你可以在句子中混合if语句和for循环 - 将它放在你的日期范围循环中。

{% for activity in activities if activity.startTime|date('d-m-Y') == date|date('d-m-Y') %}
    {{ dump(activity) }}
{% else %}
    No activities on {{ date|date('d-m-Y') }}
{% endfor %}