为
循环遍历序列中的每一项。例如,显示变量中提供的用户列表用户
:
1 2 3 4 5 6
<h1>成员h1><ul>{%为users %}中的用户<李>{{用户。用户名| e}}李>{%endfor%}ul>
请注意
序列可以是数组,也可以是实现可否认的
接口。
如果确实需要遍历数字序列,则可以使用..
接线员:
1 2 3
{%为I在0..10%}*{{I}}{%endfor%}
上面的代码片段将打印从0到10的所有数字。
它也可以用在字母上:
1 2 3
{%为字母“a”。' z ' %}*{{letter}}{%endfor%}
的..
运算符可以取两边的任意表达式:
1 2 3
{%为字母“a”|上. . |“z”上%}*{{letter}}{%endfor%}
如果需要不同于1的步骤,可以使用
范围
函数来代替。
loop变量
在一个为
循环块可以访问一些特殊的变量:
变量 | 描述 |
---|---|
loop.index |
循环的当前迭代。(1索引) |
loop.index0 |
循环的当前迭代。(0索引) |
loop.revindex |
从循环结束开始的迭代次数(1个索引) |
loop.revindex0 |
从循环结束开始的迭代次数(0索引) |
loop.first |
如果第一次迭代为True |
loop.last |
如果上次迭代为True |
loop.length |
序列中项目的数目 |
loop.parent |
父上下文 |
1 2 3
{%为users %}中的用户{{循环。指数}}-{{用户。用户名}}{%endfor%}
请注意
的loop.length
,loop.revindex
,loop.revindex0
,loop.last
变量仅可用于PHP数组或实现可数名词
接口。
else子句
如果由于序列为空而没有发生迭代,则可以使用其他的
:
1 2 3 4 5 6 7
<ul>{%为users %}中的用户<李>{{用户。用户名| e}}李>{%其他的%}<李><新兴市场>找不到用户新兴市场>李>{%endfor%}ul>