У меня есть странная проблема с веточкой в 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
Похоже, что ветка создает новый массив с новыми индексами. Есть ли способ получить правильный индекс из массива?
С var_dump($days)
в php я вижу правый индекс, поэтому «проблема» связана с веточкой.
вы также можете попробовать:
{% for key,value in users %} {{ key }} {% endfor %}
или, возможно, заглянуть в объект «loop», определенный в цикле for
Может быть, это
http://www.twig-project.org/doc/templates.html
По умолчанию цикл повторяется над значениями последовательности. Вы можете выполнять итерацию по клавишам с помощью фильтра ключей:
<h1>Members</h1> <ul> {% for key in users|keys %} <li>{{ key }}</li> {% endfor %} </ul>
Это не связано с веточкой, это известный пробел в doctrine-mongodb, используя embeddedDocuments. Doctrine не может обрабатывать значения ключа из embeddedDocuments, он будет изменять порядок ключей, начинающихся с 0, и поэтому игнорирует правильные значения ключа. Спасибо вам за помощь :).