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.