-2

你好,我想用我的 Twig 模板做类似的事情

<?php
    for( $i = 0; $i <= 5; $i++ ) {
        // Not display the first number
        if( $i <= 1 ) {
            continue;
        }
        // Displaying numbers from 2 to 5
        echo $i ,'<br/>';
    }
?>

我怎样才能做到这一点 ?

谢谢你的帮助。

4

2 回答 2

1

从文档中,您可以使用它来迭代数字

{% for i in 0..10 %}
    * {{ i }}
{% endfor %} 

也可以从文档中添加这样的条件

<ul>
    {% for user in users if user.active %}
        <li>{{ user.username|e }}</li>
    {% endfor %}
</ul>

所以如果你把这两者结合起来,你最终会得到这样的东西。

{% for i in 0..5 if i<= 1 %}
    * {{ i }}
{% endfor %} 

未经测试,但应该可以工作。文档:http ://twig.sensiolabs.org/doc/tags/for.html

于 2014-09-25T12:34:50.523 回答
0

如果你真的只是想跳过第一次迭代,你可以这样做

{% for i in 1..5 %}

或者

{% for i in 0..5 if loop.index0 %}

但是假设您实际上想要做一些更有用的事情,例如在第一次迭代中进行一些处理,然后只$i在后续迭代中回显,这应该有效:

{% for i in 0..5 %}
    This is printed every time...
    {% if (loop.index0) %}
        ...but this is only printed when $i > 0: {{ i }}<br />
    {% endif %}
{% endfor %}

据我所知,Twig 中没有“继续”关键字或任何等效关键字。

于 2014-09-25T12:33:25.640 回答