php 带有键的数组的 Twig for 循环
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/10299202/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Twig for loop for arrays with keys
提问by Guillaume
I use Twig and I have an array with keys like this:
我使用 Twig 并且我有一个带有如下键的数组:
array[1] = "alpha"
array[2] = "bravo"
array[3] = "charlie"
array[8] = "delta"
array[9] = "echo"
And I would like to get the key (1,2,3,8,9)and the content (alpha, bravo, charlie, delta, echo)in a loop to get all value of this array.
我想在循环中获取键(1,2,3,8,9)和内容(alpha, bravo, charlie, delta, echo)以获取该数组的所有值。
How do I solve this problem?
我该如何解决这个问题?
回答by Guillaume
I found the answer :
我找到了答案:
{% for key,value in array_path %}
Key : {{ key }}
Value : {{ value }}
{% endfor %}
回答by dkinzer
There's this example in the SensioLab page on the fortag:
在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
http://twig.sensiolabs.org/doc/tags/for.html#iterating-over-keys
回答by Emma
These are also extended options (e.g., sort, reverse) for both 1D and 2D arrays in Twig:
这些也是 Twig 中一维和二维数组的扩展选项(例如,排序、反向):
1D Array
一维数组
Without Key Sort and Reverse
无键排序和反转
{% for key, value in 1D_array %}
<div>{{ key }}</div>
<div>{{ value }}</div>
{% endfor %}
Key Sort
键排序
{% for key, value in 1D_array|keys|sort %}
<div>{{ key }}</div>
<div>{{ value }}</div>
{% endfor %}
Key Sort and Reverse
键排序和反转
{% for key, value in 1D_array|keys|sort|reverse %}
<div>{{ key }}</div>
<div>{{ value }}</div>
{% endfor %}
2D Arrays
二维数组
Without Key Sort and Reverse
无键排序和反转
{% for key1, value1 in 2D_array %}
{% for key2, value2 in 2D_array[key1] %}
<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] %}
<div>{{ key2 }}</div>
<div>{{ value2 }}</div>
{% endfor %}
{% endfor %}
Key Sort on Both Outer and Inner Arrays
外部和内部数组的键排序
{% 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 & Key Sort and Reverse on Inner 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 %}
Key Sort and Reverse on Outer Array & Key Sort on Inner Array
外部数组的键排序和反转 & 内部数组的键排序
{% 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 %}
Key Sort and Reverse on Both Outer and Inner Array
外部和内部数组的键排序和反转
{% 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 %}
回答by imcoddy
I guess you want to do the "Iterating over Keys and Values"
我猜你想做“迭代键和值”
As the doc heresays, just add "|keys" in the variable you want and it will magically happen.
正如这里的文档所说,只需在您想要的变量中添加“|keys”,它就会神奇地发生。
{% for key, user in users %}
<li>{{ key }}: {{ user.username|e }}</li>
{% endfor %}
It never hurts to search before asking :)
在询问之前搜索永远不会有什么坏处:)

