使用Twig在for循环中创建数组

时间:2014-06-04 17:02:48

标签: symfony twig

我试图创建一个数组并在for循环中存储值但到目前为止失败了。我怎么能用Twig做到这一点?

我已经读过这些但是在Twig中成为新人很难转换成我的案例。

PLAIN PHP LOGIC就是这样:

foreach ($array as &$value)
{
   $new_array[] = $value;
}

foreach ($new_array as &$v)
{
   echo $v;
}

我用TWIG做了什么:

{% for value in array %}
    {% set new_array = new_array|merge([value])  %}
{% endfor %}

{% for v in new_array %}
   {{ v }}
{% endfor %}

2 个答案:

答案 0 :(得分:16)

通过以下愿景的建议解决:

{% set brands = [] %}
{% for car in cars %}
    {% if car not in brands %}
        {% set brands = brands|merge([car]) %}
    {% endif %}
{% endfor %}

{% for brand in brands %}
   {{ brand }}
{% endfor %}

此外,我下次还会考虑 bartek 的评论。这是一次性的。

答案 1 :(得分:0)

我在循环中有其他数组解决方案。 这个解决方案让你可以像PHP一样制作数组:

$my_array[] = array('key_1' => $value1, 'key_2' => $value_2);

在这种情况下:

{% set cars_details = [] %}
{% for car in cars %}
     <!-- This is the line of code that does the magic -->
    {% set car = car|merge({(loop.index0) : {'color': car.color, 'year': car.year} }) %}
{% endfor %}
{{ car|dump }}