我需要什么
代码
{% set industry_get=value.industry_merge|split(',') %}
{% set newArray = [] %}
{% for key, value2 in industry_get if break %}
{% set newArray = newArray|merge({ 'name': industryarray[value2]['name'], 'url': industryarray[value2]['url'],'published': industryarray[value2]['published'] }) %}
{%endfor%}
问题
在这段代码中,让循环执行3次。
array(3) {
[0]=> string(1) "3"
[1]=> string(2) "11"
[2]=> string(2) "18"
} ........ 1 2 3
但它存储了最后一个索引的值,即(18)
array(3)
{
["name"]=> string(14) "Gems & Jewelry"
["url"]=> string(12) "gems-jewelry"
["published"]=> string(1) "1"
}
我尝试过loop.index,但它无法正常工作
代码
{% set newArray = newArray|merge({ (loop.index): {'name':industryarray[value2]['name']} }) %}
它做得很好,但问题是它的循环的最后一次迭代的存储值,因为它没有任何键。
我想做的事情是
{% set newArray[0]['name'] = newArray|merge({ (loop.index): {'name':industryarray[value2]['name']} }) %}
{% set newArray[1]['name'] = newArray|merge({ (loop.index): {'name':industryarray[value2]['name']} }) %}
。 。 。 等等.... 但我不知道该怎么做
然后数据将以索引格式存储。
任何建议都欢迎
最后经过难以言喻的解决方案