如何使用索引访问twig中的备用数组元素?

时间:2016-01-20 05:32:04

标签: symfony twig

我想使用索引访问数组中的备用元素。
这样的事情:

for(i=0;i<count(myarray);i++)
{
print myarray[i+1];
}

我怎么能用树枝做这个?

2 个答案:

答案 0 :(得分:3)

{% set arrayLength = myarray|length - 1 %}

{% for i in range(0, arrayLength, 2) %}
    {{ myarray[i] }}
{% endfor %}

这应该打印这些元素:myarray[0]myarray[2]myarray[4]等等......

  1. 设置变量arrayLength以保持数组元素的数量。我们需要将它设置为“真实”计数后面的一个单位,因为数组是零索引
  2. 循环范围从0到arrayLength(count-1,如上所述),步长为2步(第三个参数代表“每步增加n的索引”;在这种情况下,“n”为2)
  3. 打印结果
  4. 当然你也可以跳过arrayLength setter并直接使用

    {% for i in range(0, myarray|length - 1, 2) %}
    

答案 1 :(得分:1)

我更喜欢远在DonCallisto Answer,但对于答案的多样性,这里是另一个......

上下文

myarray:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h

Twig

{% for key, value in myarray if not key % 2 %}
    {{ value }}
{% endfor %}

结果

a
c
e
g

TwigFiddle http://twigfiddle.com/hmzuye