2011-12-26 31 views
27

हैलो मैं इस तरह somthing करना चाहते हैं:एक पाश में गिनती

<?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

जाहिर टहनी को परिभाषित करता है अंदर कुछ 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

धन्यवाद, मैं वास्तव में क्या देख रहा था। हालांकि, केवल मामूली फिक्स: यह 'चक्र ([' '', 'odd'], loop.index0) होना चाहिए क्योंकि 'loop.index0' का उपयोग किया जाता है। जब आप 'loop.index0' का उपयोग करते हैं तो आप कह रहे हैं कि आपके पास "शून्य" पंक्ति है, और शून्य भी एक संख्या है। इसलिए, इसके साथ आपकी ज़ीरोथ पंक्ति भी ठीक है, पहली पंक्ति अजीब है, दूसरी पंक्ति भी है, आदि – cmt

+0

सुंदर साफ समाधान, विशेष रूप से यदि आपको "यहां तक ​​कि अजीब" से अलग कुछ चाहिए, लेकिन उदाहरण के लिए "पहला, दूसरा और तीसरा "। अब, प्रदर्शन के बारे में क्या? '{{चक्र (['' '', 'odd'], loop.index0)}} के साथ स्ट्रिंग्स की सूची के माध्यम से साइकिलिंग से तेज़ी से '{% अगर loop.index0 भी%}} का उपयोग कर रहा है? यह जानना दिलचस्प होगा कि क्या दूसरे पर एक समाधान को प्राथमिकता देने का कोई कारण हो सकता है या यदि यह अंत में कोई फर्क नहीं पड़ता है। – Arvid