我使用 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),以获得这个数组的所有值。
(1,2,3,8,9)
(alpha, bravo, charlie, delta, echo)
我如何解决这个问题?
在 for标签上的 SensoLab 页面中有这样一个例子:
for
<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
我找到了答案:
{% for key,value in array_path %} Key : \{\{ key }} Value : \{\{ value }} {% endfor %}
我猜您想要执行“对键和值进行迭代”
正如文档 给你所说,只要在所需的变量中添加“ | key”,它就会神奇地发生。
{% for key, user in users %} <li>\{\{ key }}: \{\{ user.username|e }}</li> {% endfor %}
在问之前先搜索一下总没有坏处:)
这些是 Twig 框架中一维和二维数组的扩展操作(例如,排序、反向操作) :
{% 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 %}
{% 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 %}