Ranting untuk loop untuk array dengan tombol


152

Saya menggunakan Twig dan saya memiliki array dengan kunci seperti ini:

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

Dan saya ingin mendapatkan kunci (1,2,3,8,9)dan konten (alpha, bravo, charlie, delta, echo)dalam satu lingkaran untuk mendapatkan semua nilai array ini.

Bagaimana saya mengatasi masalah ini?


1
Apakah Anda mencoba mencari loop PHP? Gunakan foreachlingkaran.
Josh

3
Ini bukan di PHP, melainkan di Ranting di file templat!
Guillaume

3
Cukup adil. Apakah Anda mencoba mencari loop TWIG? twig.sensiolabs.org/doc/tags/for.html
Josh

Jawaban:




15

Ini adalah operasi yang diperluas (misalnya, urutkan, mundur) untuk array satu dimensi dan dua dimensi dalam kerangka Twig:

Array 1D

Tanpa Sortir dan Balik Kunci

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

Sortir Kunci

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

Sortir dan Balik Kunci

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

Array 2D

Tanpa Sortir dan Balik Kunci

{% 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 %}

Sortir Kunci pada Larik Luar

{% 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 %}

Sortir Kunci pada Array Luar dan Dalam

{% 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 %}

Sortir Kunci pada Larik Luar & Sortir Kunci dan Terbalik pada Array Dalam

{% 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 %}

Sortir Kunci dan Terbalik pada Array Luar & Sortir Kunci pada Array Dalam

{% 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 %}

Sortir dan Balik Kunci pada Array Luar dan Dalam

{% 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

Saya kira Anda ingin melakukan "Iterating over Keys and Values"

Seperti yang dikatakan dokumen di sini , cukup tambahkan "| kunci" pada variabel yang Anda inginkan dan itu akan terjadi secara ajaib.

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

Tidak ada salahnya mencari sebelum bertanya :)


4
Anda belum menunjukkan contoh menggunakan "| kunci" dalam jawaban Anda.
Adambean

6
Saya memberi Anda 10 karena Anda memiliki 308 poin, tetapi Anda menjawab "Tidak ada salahnya untuk mencari sebelum bertanya" menyebalkan, jadi saya mengambilnya
Braian Mellor
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.