Подтвердить что ты не робот

Веточка для циклы для массивов с ключами

Я использую Twig, и у меня есть массив с ключами, как это:

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) в цикле, чтобы получить все значения этого массива.

Как мне решить эту проблему?

4b9b3361

Ответ 1

Я нашел ответ:

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

Ответ 3

Это также расширенные параметры (например, сортировка, реверс) для одномерных и двумерных массивов в Twig:

1D Array

Без сортировки и обратного ключа

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

Сортировка ключей

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

Ключ сортировки и обратного

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

2D массивы

Без сортировки и обратного ключа

{% for key1, value1 in 2D_array %}
    {% for key2, value2 in 2D_array[key1] %}
        <div>{{ key2 }}</div>
        <div>{{ value2 }}</div>
    {% endfor %}
{% endfor %}

Сортировка ключей по внешнему массиву

{% for key1, value1 in 2D_array|keys|sort %}
    {% for key2, value2 in 2D_array[key1] %}
        <div>{{ key2 }}</div>
        <div>{{ value2 }}</div>
    {% endfor %}
{% endfor %}

Сортировка ключей как по внешнему, так и по внутреннему массиву

{% for key1, value1 in 2D_array|keys|sort %}
    {% for key2, value2 in 2D_array[key1]|keys|sort %}
        <div>{{ key2 }}</div>
        <div>{{ value2 }}</div>
    {% endfor %}
{% endfor %}

Key Sort on Outer Array & Сортировка ключей и обратное на внутреннем массиве

{% for key1, value1 in 2D_array|keys|sort %}
    {% for key2, value2 in 2D_array[key1]|keys|sort|reverse %}
        <div>{{ key2 }}</div>
        <div>{{ value2 }}</div>
    {% endfor %}
{% endfor %}

Ключ сортировки и реверса на внешнем массиве & Сортировка ключей по внутреннему массиву

{% for key1, value1 in 2D_array|keys|sort|reverse %}
    {% for key2, value2 in 2D_array[key1]|keys|sort %}
        <div>{{ key2 }}</div>
        <div>{{ value2 }}</div>
    {% endfor %}
{% endfor %}

Сортировка и обратная обработка ключей на внешнем и внутреннем массиве

{% for key1, value1 in 2D_array|keys|sort|reverse %}
    {% for key2, value2 in 2D_array[key1]|keys|sort|reverse %}
        <div>{{ key2 }}</div>
        <div>{{ value2 }}</div>
    {% endfor %}
{% endfor %}

Ответ 4

Я думаю, вы хотите сделать "Итерацию над ключами и значениями"

Как говорится в doc здесь, просто добавьте "| ключи" в нужную вам перемену и это будет волшебным образом.

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

Никогда не больно искать, прежде чем спрашивать:)