带有键的数组循环的Twig

时间:2012-04-24 13:45:47

标签: php arrays loops twig

我使用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)以获取此数组的所有值。

如何解决这个问题?

4 个答案:

答案 0 :(得分:295)

我找到了答案:

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

答案 1 :(得分:53)

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

答案 2 :(得分:3)

我想你想做“迭代键和值”

正如文档here所说,只需在您想要的变量中添加“| keys”,它就会神奇地发生。

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

在询问之前搜索永远不会伤害:)

答案 3 :(得分:0)

这些也是Twig中1D和2D阵列的扩展选项:

一维数组

{% for key, value in 1D_array %}
    <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 %}
    {% 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 %}

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