2011-12-26 4 views
27

のカウントこんにちは、私はそのように気にいらを行いたいと思います:小枝でループ

<?php $count = 0; foreach($a as $v): $count++; ?> 
    <?php if ($count%2 == 0): ?> 
    ... 
    <?php endif; ?> 
<?php endforeach; ?> 

{% for v in a %} 
    {% if ??? is even %} 
    ... 
    {% endif %} 
{% endfor %} 

が、どのように私はループと進化変数を持つことができますか?

答えて

56

どうやら小枝は、forループ内のいくつかのloop variablesを定義しています

{% for v in a %} 
    {% if loop.index0 is even %} 
     ... 
    {% endif %} 
{% endfor %} 
24

あなたが行うことができますスタイリングのためにそれを使用する場合:私が探していたまさに

{% for v in a %} 
    <div class="link {{ cycle(['even', 'odd'], loop.index0) }}"> 
    </div> 
{% endfor %} 
+1

おかげで、。しかし、ほんのわずかな修正: 'loop.index0'が使われているので、' cycle(['even'、 'odd']、loop.index0) 'でなければなりません。 'loop.index0'を使うと、あなたは" 0 "の行があり、ゼロは偶数であると言っています。だから、これはあなたのゼロ番目の行を修正して第二列は、あなたが「偶数と奇数」とは別の何かを必要とする場合は特に、など – cmt

+0

かなりきちんとした解決策もあり、最初の行が奇数、偶数であるが、例えば、「第一、第二と第三"今、パフォーマンスはどうですか?おそらく '{{cycle([even、 'odd']、loop.index0)}}'で文字列のリストを循環するよりも '{%if loop.index0 is even%}'を使用していますか?あるソリューションを他のソリューションよりも優先させる理由があるかどうか、または最後に問題がないかどうかを知ることは興味深いでしょう。 – Arvid