我有一个这样的数组:
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,但我需要自动处理所有。
有什么想法吗?谢谢:))
答案 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。