質問: 【やりたいこと】 Smartyのtpl内でforeachを使って配列の中身を出力する際、内容が全く同じ要素がある場合、その要素は出力しないようにしたい 【現状】 同じ要素が複数出力されてしまっている 【背景】 EC-CUBE2.13を使用してサイトを作成しています。 list.tplで「ある特定のカテゴリーの商品において、その商品すべてのメーカーの一覧を表示させる」という処理を記述しています。 コードは下記の通りです。 ``` ・ ``` 代替案として、JSを用いて「makerlist_areaクラスの中で、全く同じ要素が存在する場合1つだけ表示させる処理を加える」というアイデアも思いついたのですが、 どうせなら綺麗にforeachの中で処理したいと思い、何かいい方法がないか、投稿させて頂きました。 よろしくお願いいたします。
回答: 『foreachの中で処理をする』、よりも『foreachで回す前に処理をする』ほうがいいのではないかな?と思います。 `array_unique`を使えば簡単ですし。