Twig for loop for arrays with keys Twig for loop for arrays with keys arrays arrays

Twig for loop for arrays with keys


I found the answer :

{% for key,value in array_path %}    Key : {{ key }}    Value : {{ value }}{% endfor %}


There's this example in the SensioLab page on the for tag:

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

http://twig.sensiolabs.org/doc/tags/for.html#iterating-over-keys


These are extended operations (e.g., sort, reverse) for one dimensional and two dimensional arrays in Twig framework:

1D Array

Without Key Sort and Reverse

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

Key Sort

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

Key Sort and Reverse

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

2D Arrays

Without Key Sort and Reverse

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

Key Sort on Outer Array

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

Key Sort on Both Outer and Inner Arrays

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

Key Sort on Outer Array & Key Sort and Reverse on Inner Array

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

Key Sort and Reverse on Outer Array & Key Sort on Inner Array

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

Key Sort and Reverse on Both Outer and Inner Array

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