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

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

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



답변

나는 답을 찾았다.

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


답변

for태그 의 SensioLab 페이지에이 예제가 있습니다 .

<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


답변

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


답변

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

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

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

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


답변