我试图创建一个数组并在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 %}
答案 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 }}