将twig循环索引转换为数组

时间:2013-07-08 10:08:14

标签: arrays loops for-loop indexing twig

我想将我的字符串值显示在我的数组'nameComments'中,其中我的注释数组为{{loop.index}},但{{ nameComments[{{ loop.index }}] }}显示错误

{% for com in comments %}
    <p>Comment {{ nameComments[{{ loop.index }}] }} : "{{ com['comment'] }}"</p>
{% endfor %}

如果我尝试:

{% for com in comments %}
    <p>Comment {{ nameComments[1] }} : "{{ com['comment'] }}"</p>
{% endfor %}

{{ loop.index }}显示价值:1

那么如何将循环索引实现到我的数组中呢?

2 个答案:

答案 0 :(得分:21)

{% for com in comments %}
    <p>Comment {{ nameComments[ loop.index ] }} : "{{ com['comment'] }}"</p>
{% endfor %}

请忽略大括号。这应该工作正常。 顺便说一下,loop.index是1个索引。如果循环通常以索引0开头的数组,则应考虑使用loop.index0

请参阅documentation

答案 1 :(得分:0)

如果数组索引不是以1或0开头或不遵循序列,或者它们不是整数,则遍历数组索引的实值而不使用loop.index和loop.index0是更安全的方法

为此,请尝试以下操作:

{% for key,com in comments %}
    <p>Comment {{ nameComments[key] }} : "{{ com['comment'] }}"</p>
{% endfor %}

请参见documentation