Twig用变量迭代

时间:2015-04-06 14:27:51

标签: php arrays symfony loops twig

我有一个这样的数组:

array['a'] = {x => 1, y => 2...}
array['b'] = {x => 5, y => 7...}

我需要迭代数组,但在每种情况下我只需要输入' a'或者' b'我选择了。

{% for i in main %}
    {% set id = i.getId %}
    {% for j in array.id %}
         //do something like j.propertyA ...
    {% endfor %}
{% endfor %}

失败总是得到错误:"密钥' id'对于带有键的数组' a' b' ...不存在"

如果我强行写作:

{% for j in array.a %}

该程序总能正常使用array.a,但我需要自动处理所有。

有什么想法吗?谢谢:))

2 个答案:

答案 0 :(得分:1)

{% for j in array.id %}更改为{% for j in array[id] %}

这是因为你试图直接从数组访问“id”(正如所写)(并且未定义)。使用[id],您的变量会被替换为其值,因此您的调用不会失败

答案 1 :(得分:0)

我认为你需要数组|键twig过滤器。查看更多:http://twig.sensiolabs.org/doc/filters/keys.html