我如何在每个迭代中的foreach循环中显示列表中的两个不同元素(<li>
)?
例如,我有:
$arr = array('a', 'b', 'c', 'd','e','f');
我希望像这样展示:
- a-c-e
- b-d-f
<ul>
{foreach from=$products item=product name=products key=spi}
<li></li>
<li></li>
{/foreach}
</ul>
这是一个例子,我正在研究prestashop,所以我想这样做:
答案 0 :(得分:0)
使用range
,array_intersect_key
,array_flip
和implode
函数的解决方案:
$arr = ['a', 'b', 'c', 'd','e','f'];
$products = [
implode('-', array_intersect_key($arr, array_flip(range(0, 5, 2)))),
implode('-', array_intersect_key($arr, array_flip(range(1, 5, 2))))
];
现在,$products
包含以下数组:
Array
(
[0] => a-c-e
[1] => b-d-f
)
在Twig模板中遍历$products
:
<ul>
{% for p in products %}
<li>{{ p }}</li>
{% endfor %}
</ul>