如何在smarty 2中停止foreach重复值?

时间:2014-10-08 23:28:59

标签: foreach smarty

我在模板上的foreach后得到了这个结果。但是,如何停止使用相同的值并仅显示一个?

<ul>
{foreach from=$names item=v name=thenames}
    <li>{$v.names}/<li>
{/foreach}
</ul>

1 个答案:

答案 0 :(得分:0)

如果它是一个简单的key-&gt; value数组,你可以在php文件中使用array_unique来处理数组,然后再发送给smarty。您也可以使用$ names | array_unique

在模板中调用它

如果所有重复项都是一个接一个(即a,a,a,b,b,c,c,c),则可以尝试使用变量来存储前一个值,因此它只显示第一个:< / p>

{assign var="previous" value=""}
{foreach from=$names item=v name=thenames}
    {if $previous!=$v.names}
    <li>{$v.names}/<li>
    {/if}
    {assign var="previous" value=$v.names}
{/foreach}

如果没有,我建议在php或使用smarty 3预处理数组。