1

値が重複している配列があります。配列に何回存在しても、値を一度だけ出力したいと考えています。

これは私が持っているコードです:

{foreach item="item" from=$root.page.news.item }
{foreach from=$item.Tags item=tagitem key=kex}
    {$tagitem}
{/foreach}
{/foreach}

これは正しく印刷されるものです:

kim000kardashian
kim000kardashian
miley000cyrus
miley000cyrus
kim000kardashian
irina000shayk

これが私が印刷しようとしているものです

kim000kardashian 
miley000cyrus 
irina000shayk

Smarty テンプレートのみを使用してこれを達成する方法はありますか? または.tplファイルで使用できる方法はありますか?

前もって感謝します

4

1 に答える 1

2
{foreach item="item" from=$root.page.news.item }
  {foreach from=$item.Tags item=tagitem key=kex}
    {if !$done.$tagitem}
      {$done.$tagitem = 1}
      {$tagitem}
    {/if}
  {/foreach}
{/foreach}

すべてのバージョンで動作するかどうかはわかりません。

array_unique()たぶん、php でan を呼び出す方が少しすっきりするでしょう。

于 2014-01-30T23:03:38.123 に答える