我在Symfony2中有一个奇怪的问题。我使用以下数组:
[days] => Array
(
[1] => Array
(
[money] => 9
)
[2] => Array
(
[money] => 21
)
[3] => Array
(
[money] => 38
)
[4] => Array
(
[money] => 6
)
[18] => Array
(
[money] => 6
)
[19] => Array
(
[money] => 3
)
[31] => Array
(
[money] => 11
)
)
测试这个我使用了以下代码
{% for key in days %}
{{ key }}<br>
{% endfor %}
但输出显示以下内容
0
1
2
3
4
5
6
但它看起来应该是这样的
1
2
3
4
18
19
31
看起来twig会创建一个包含新索引的新数组。有没有办法从数组中获取正确的索引?
在php中使用var_dump($days)
我可以看到正确的索引,因此“问题”与树枝有关。
答案 0 :(得分:15)
你也可以试试这个:
{% for key,value in users %}
{{ key }}
{% endfor %}
或者可以查看for循环中定义的“循环”对象
答案 1 :(得分:8)
也许这个
http://www.twig-project.org/doc/templates.html
默认情况下,循环遍历序列的值。您可以使用密钥过滤器迭代密钥:
<h1>Members</h1>
<ul>
{% for key in users|keys %}
<li>{{ key }}</li>
{% endfor %}
</ul>
答案 2 :(得分:5)
它与twig无关,它是使用embeddedDocuments在doctrine-mongodb中的已知缺口。 Doctrine无法处理embeddedDocuments中的键值,它会从0开始重新排序键,因此会忽略正确的键值。无论如何,谢谢你的帮助:)。