覚書

【Smarty】foreachの特定回数で別の処理をする

記事内に広告が含まれている場合があります

iterationプロパティを使うと現在の回数を取得できます。これにより簡単に処理を出し分けることができます。

{*** 前提として ***}
{foreach $array as $i}

{*** 3回目 ***}
{if $i@iteration === 3}
  ・・・
{/if}

{*** 5回おきに ***}
{if $i@iteration is div by 5}
  ・・・
{/if}

{*** 偶数回 ***}
{if $i@iteration is even}
  ・・・
{/if}

{*** 奇数回 ***}
{if $i@iteration is odd}
  ・・・
{/if}

{*** 最初 ***}
{if $i@first}
  ・・・
{/if}

{*** 最後 ***}
{if $i@last}
  ・・・
{/if}

{*** ちなみに剰余演算子も使える ***}
{if $i@iteration%5 === 0}
  ・・・
{/if}
{/foreach}

コメント欄

タイトルとURLをコピーしました