चाबियाँ के साथ सरणियों के लिए लूप के लिए टहनी


152

मैं टहनी का उपयोग करता हूं और मेरे पास इस तरह की कुंजियों के साथ एक सरणी है:

array[1] = "alpha"
array[2] = "bravo"
array[3] = "charlie"
array[8] = "delta"
array[9] = "echo"

और मैं इस सरणी के सभी मूल्य प्राप्त करने के लिए एक लूप में कुंजी (1,2,3,8,9)और सामग्री प्राप्त करना चाहूंगा (alpha, bravo, charlie, delta, echo)

मैं इस समस्या का समाधान कैसे कर सकता हूं।


1
क्या आपने PHP लूप खोजने की कोशिश की? foreachलूप का उपयोग करें ।
जोश

3
यह पीएचपी में नहीं है यह टेम्पलेट फ़ाइल में ट्विग में है!
गुइल्यूम

3
काफी उचित। क्या आपने TWIG छोरों की खोज करने की कोशिश की? twig.sensiolabs.org/doc/tags/for.html
जोश

जवाबों:




15

ये ट्विग फ्रेमवर्क में एक आयामी और दो आयामी सरणियों के लिए विस्तारित ऑपरेशन (जैसे, सॉर्ट, रिवर्स) हैं:

1D अर्रे

बिना कुंजी क्रमबद्ध और रिवर्स

{% for key, value in array_one_dimension %}
    <div>{{ key }}</div>
    <div>{{ value }}</div>
{% endfor %}

कुंजी क्रमबद्ध करें

{% for key, value in array_one_dimension|keys|sort %}
    <div>{{ key }}</div>
    <div>{{ value }}</div>
{% endfor %}

कुंजी क्रमबद्ध और रिवर्स

{% for key, value in array_one_dimension|keys|sort|reverse %}
    <div>{{ key }}</div>
    <div>{{ value }}</div>
{% endfor %}

2 डी Arrays

बिना कुंजी क्रमबद्ध और रिवर्स

{% for key_a, value_a in array_two_dimension %}
    {% for key_b, value_b in array_two_dimension[key_a] %}
        <div>{{ key_b }}</div>
        <div>{{ value_b }}</div>
    {% endfor %}
{% endfor %}

बाहरी सरणी पर कुंजी क्रमबद्ध करें

{% for key_a, value_a in array_two_dimension|keys|sort %}
    {% for key_b, value_b in array_two_dimension[key_a] %}
        <div>{{ key_b }}</div>
        <div>{{ value_b }}</div>
    {% endfor %}
{% endfor %}

बाहरी और भीतरी दोनों ओर की छंटनी

{% for key_a, value_a in array_two_dimension|keys|sort %}
    {% for key_b, value_b in array_two_dimension[key_a]|keys|sort %}
        <div>{{ key_b }}</div>
        <div>{{ value_b }}</div>
    {% endfor %}
{% endfor %}

बाहरी सरणी पर कुंजी क्रमबद्ध करें और इनर सरणी पर कुंजी क्रमबद्ध और रिवर्स

{% for key_a, value_a in array_two_dimension|keys|sort %}
    {% for key_b, value_b in array_two_dimension[key_a]|keys|sort|reverse %}
        <div>{{ key_b }}</div>
        <div>{{ value_b }}</div>
    {% endfor %}
{% endfor %}

बाहरी सॉर्ट पर कुंजी सॉर्ट और रिवर्स और इनर एरे पर कुंजी क्रमबद्ध करें

{% for key_a, value_a in array_two_dimension|keys|sort|reverse %}
    {% for key_b, value_b in array_two_dimension[key_a]|keys|sort %}
        <div>{{ key_b }}</div>
        <div>{{ value_b }}</div>
    {% endfor %}
{% endfor %}

कुंजी क्रमबद्ध और दोनों बाहरी और आंतरिक सरणी पर उल्टा

{% for key_a, value_a in array_two_dimension|keys|sort|reverse %}
    {% for key_b, value_b in array_two_dimension[key_a]|keys|sort|reverse %}
        <div>{{ key_b }}</div>
        <div>{{ value_b }}</div>
    {% endfor %}
{% endfor %}

2

मुझे लगता है कि आप "कुंजी और मूल्यों पर फेरबदल" करना चाहते हैं

जैसा कि यहां डॉक्टर कहते हैं, बस "वैरिएबल" जोड़ें जो आप चाहते हैं और यह जादुई रूप से होगा।

{% for key, user in users %}
    <li>{{ key }}: {{ user.username|e }}</li>
{% endfor %}

यह पूछने से पहले खोज करने के लिए दर्द नहीं होता :)


4
आपने अपने उत्तर में "| चाबियाँ" का उपयोग करने का एक उदाहरण नहीं दिखाया है।
अडम्बियन

6
मैं आपको 10 देता हूं क्योंकि आपके पास 308 अंक हैं, लेकिन आप जवाब देते हैं "यह पूछने से पहले खोज करने के लिए कभी भी दर्द नहीं होता है", इसलिए मैं इसे बाहर
निकालता हूं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.