带有键的数组的 Twig for 循环
Posted
技术标签:
【中文标题】带有键的数组的 Twig for 循环【英文标题】:Twig for loop for arrays with keys 【发布时间】:2012-05-05 03:58:58 【问题描述】:我使用 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)
以获取该数组的所有值。
我该如何解决这个问题?
【问题讨论】:
您是否尝试过搜索 php 循环?使用foreach
循环。
不是在 PHP 中,而是在模板文件中的 Twig 中!
很公平。您是否尝试搜索 TWIG 循环? twig.sensiolabs.org/doc/tags/for.html
【参考方案1】:
我找到了答案:
% for key,value in array_path %
Key : key
Value : value
% endfor %
【讨论】:
这里是官方文档的链接:twig.sensiolabs.org/doc/tags/…【参考方案2】:在 SensioLab 页面的 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
【讨论】:
这个例子没有遍历数组键,见上面的【参考方案3】:这些是 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 %
【讨论】:
【参考方案4】:我猜你想做“迭代键和值”
正如文档here 所说,只需在您想要的变量中添加“|keys”,它就会神奇地发生。
% for key, user in users %
<li> key : user.username|e </li>
% endfor %
在询问之前搜索永远不会有害:)
【讨论】:
您没有在答案中展示使用“|keys”的示例。 我给你 10 分,因为你有 308 分,但你回答“在询问之前搜索永远不会伤害”很糟糕,所以我把它拿出来以上是关于带有键的数组的 Twig for 循环的主要内容,如果未能解决你的问题,请参考以下文章
带有嵌套for循环的Javascript多维数组-无法正常工作