PHPプログラムに関する各種メモ書き

【Smarty】で{foreach}の繰り返し回数を取得する

Smartyで繰り返しの回数を取得(カウント)するには予約変数 {$smarty.foreach.ループ名}を使用する。

{ foreach from=$loop key="key" item="value" }
 名前は{$value.name}です
{/foreach}

というループ箇所がある場合は、【name="任意のループの名前"】をつけて

【$smarty.foreach.任意のループの名前.iteration】で参照する。

(なお、iteration の値は1からはじまる。)

{ foreach from=$loop key="key" item="value" name="loopname"}
 名前は{$value.name}です
 ループ回数は{$smarty.foreach.loopname.iteration}です
{/foreach}

でOK。

また5回ループするごとに何か処理を行いたい場合は {if} を使う

{ foreach from=$loop key="key" item="value" name="loopname"}
 名前は{$value.name}です
 {if $smarty.foreach.loopname.iteration%5==0}5回繰り返しました{/if}
{/foreach}

関連エントリー

No.333
11/24 11:20

edit

Smarty