Gui*_*ume 142 php arrays loops twig
我使用Twig,我有一个像这样的键的数组:
array[1] = "alpha"
array[2] = "bravo"
array[3] = "charlie"
array[8] = "delta"
array[9] = "echo"
Run Code Online (Sandbox Code Playgroud)
我想在循环中获取密钥(1,2,3,8,9)
和内容(alpha, bravo, charlie, delta, echo)
以获取此数组的所有值.
我怎么能这样做?
谢谢
Gui*_*ume 310
我找到了答案:
{% for key,value in array_path %}
Key : {{ key }}
Value : {{ value }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
dki*_*zer 54
for
标签上的SensioLab页面中有这个例子:
<h1>Members</h1>
<ul>
{% for key, user in users %}
<li>{{ key }}: {{ user.username|e }}</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
http://twig.sensiolabs.org/doc/tags/for.html#iterating-over-keys
这些也是Twig中1D和2D数组的扩展选项(例如,排序,反向):
{% for key, value in 1D_array %}
<div>{{ key }}</div>
<div>{{ value }}</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
{% for key, value in 1D_array|keys|sort %}
<div>{{ key }}</div>
<div>{{ value }}</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
{% for key, value in 1D_array|keys|sort|reverse %}
<div>{{ key }}</div>
<div>{{ value }}</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
{% for key1, value1 in 2D_array %}
{% for key2, value2 in 2D_array[key1] %}
<div>{{ key2 }}</div>
<div>{{ value2 }}</div>
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
{% for key1, value1 in 2D_array|keys|sort %}
{% for key2, value2 in 2D_array[key1] %}
<div>{{ key2 }}</div>
<div>{{ value2 }}</div>
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
{% 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 %}
Run Code Online (Sandbox Code Playgroud)
{% 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 %}
Run Code Online (Sandbox Code Playgroud)
{% 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 %}
Run Code Online (Sandbox Code Playgroud)
{% 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 %}
Run Code Online (Sandbox Code Playgroud)
我猜你想做“迭代键和值”
正如这里的文档所说,只需在所需的变量中添加“|keys”,它就会神奇地发生。
{% for key, user in users %}
<li>{{ key }}: {{ user.username|e }}</li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
在询问之前先搜索一下总没有坏处:)