키가있는 어레이의 루프 용 나뭇 가지


152

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)을 루프에 넣고 싶습니다 .

이 문제를 어떻게 해결합니까?


1
PHP 루프 검색을 시도 했습니까? foreach루프를 사용하십시오 .
— Josh

3
PHP가 아니라 템플릿 파일의 Twig에 있습니다!
— 기 illa

3
그럴 수 있지. TWIG 루프를 검색하려고 했습니까? twig.sensiolabs.org/doc/tags/for.html
— Josh

답변:




15

이는 Twig 프레임 워크에서 1 차원 및 2 차원 배열에 대한 확장 연산 (예 : 정렬, 역)입니다.

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

2D 어레이

키 정렬 및 반전없이

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

"키와 값에 대한 반복"을하고 싶다고 생각합니다.

여기서 의사가 말했듯이 원하는 변수에 "| keys"를 추가하면 마술처럼 일어날 것입니다.

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

물어보기 전에 검색하는 것이 결코 아프지 않습니다 :)


4
답변에 "| keys"를 사용하는 예는 표시되지 않았습니다.
— Adambean

6
당신은 308 점을 가지고 있기 때문에 나는 당신에게 10을주고,하지만 당신은 "이 요청하기 전에 검색을 결코 아프지 않는다"나는 그것을 꺼내, 그래서 짜증 답변
— Braian 멜러
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.