8

我对 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 创建了一个带有新索引的新数组。有没有办法从数组中获取正确的索引?

var_dump($days)php 中我可以看到正确的索引,所以“问题”与树枝有关。

4

3 回答 3

15

你也可以试试这个:

{% for key,value in users %}
    {{ key }}
{% endfor %}

或者查看 for 循环中定义的“循环”对象

http://twig.sensiolabs.org/doc/tags/for.html

于 2011-11-07T16:00:55.713 回答
8

也许这

http://www.twig-project.org/doc/templates.html

默认情况下,循环会遍历序列的值。您可以使用键过滤器对键进行迭代:

<h1>Members</h1>
<ul>
  {% for key in users|keys %}
    <li>{{ key }}</li>
  {% endfor %}
</ul>
于 2011-06-01T07:56:27.407 回答
5

它与 twig 无关,它是使用 embeddedDocuments 的教义 mongodb 中的一个已知差距。Doctrine 无法处理来自 EmbeddedDocuments 的键值,它会从 0 开始重新排序键,因此会忽略正确的键值。无论如何,谢谢你的帮助:)。

于 2011-11-16T14:12:33.817 回答