Twig:用条件检查数组键值

时间:2014-12-18 16:57:14

标签: symfony laravel-4 twig

从db获取后的挖掘数据如下:

1,7或1或2,6或3,4

即。以1到7的任意组合。 其中1到7反映日期数据

7=>sunday
1=>monday
2=>tuesday
----
---
6=>saturday

vairable是阵列。所以,有任何方法可以做这种类型的数组过滤器 如果数据是1,7那么我可以检查并获得星期六,周日? 即

{% if some condition meets within data array %}
value
{% else %}

由于

2 个答案:

答案 0 :(得分:1)

不确定您的问题是什么,但您可以非常轻松地检查数组中是否存在值:

{% if 1 in data_array %}

{% endif %}

如果您正在寻找存在的特定密钥:

{% if data_array.key is defined %}

{% endif %}

来自您的其他答案的编辑:

您还可以通过在树枝中设置快速日图来尝试清理循环:

{% set dayMap = {1: 'Monday', 2: 'Tuesday', 3: 'Wednesday', 4: 'Thursday', 5: 'Friday', 6: 'Saturday', 7: 'Sunday'} %}

{% for d in data_array %}
    {% for day in d.days %}
        {{ dayMap[day] }}{% if not loop.last %}, {% endif %}
    {% endfor %}
{% endfor %}

答案 1 :(得分:0)

是的,我已经完成了但是在你的答案交配之前:P:)

    {% for d in data_array %}
                       {% if 1 in d.days %}
                           Monday
                            {% endif %}
                            {% if 2 in d.days %}
                           Tuesday
                            {% endif %}
                           {% if 3 in d.days %}
                           Wednesday
                            {% endif %}
                               {% if 4 in d.days %}
                           Thursday
                            {% endif %}
                            {% if 5 in d.days %}
                           Friday
                            {% endif %}
                            {% if 6 in d.days %}
                           Saturday
                            {% endif %}
                            {% if 7 in d.days %}
                           Sunday
                            {% endif %}
                              {% if not loop.last %},{% endif %}

{% endfor %}

感谢您的回答:)