我使用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)
以获取此数组的所有值。
如何解决这个问题?
答案 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 %}
{% 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 %}