ループ内で特定回数の時だけ別の処理をする【Smarty】

この記事は最終更新から1年以上経過しています。内容が古くなっているかもしれません。。

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}

この記事はお役に立てましたか?

はい

ブログランキング・にほんブログ村へ

コメントを残す