I'll be NET 】創作サイトから中小企業まで東京都三鷹市で低価格高品質なホームページ制作(SOHO)

トップページ > PHP > smartyのforeachでループ回数を取得する方法

smartyのforeachでループ回数を取得する方法

smartyで配列を繰り返して表示するときは、foreachを使います。
foreachで繰り返した回数を取得するには、foreachに名前をつけて利用します。

現時点での1から始まるループ回数を表示したいときはiteration

foreach内のループ回数をカウントしたいとき、1から始まる数字で取得したい場合は、foreachに名前をつけ、iterationを利用します。
たとえば、ループ回数が1回目なら1、2回目なら2を表示します。

解説
{foreach from=$array item='item' name='ループ名'}
    {$smarty.foreach.ループ名.iteration}
{/foreach}

まず、name='ループ名'でループ名を設定します。
ループ名を設定したforeachの中で{$smarty.foreach.loop.iteration}と記述すると、1から始まるループ回数を表示できます。

サンプル
<ul>
{foreach from=$array item='item' name='loop'}
    <li>{$smarty.foreach.loop.iteration}:{$item}</li>
{/foreach}
</ul>

現時点での0から始まるループ回数を表示したいときはindex

foreach内のループ回数をカウントしたいとき、0から始まる数字で取得したい場合は、foreachに名前をつけ、iterationを利用します。
たとえば、ループ回数が1回目なら0、2回目なら1を表示します。

解説
{foreach from=$array item='item' name='ループ名'}
    {$smarty.foreach.ループ名.index}
{/foreach}

まず、name='ループ名'でループ名を設定します。
ループ名を設定したforeachの中で{$smarty.foreach.loop.index}と記述すると、0から始まるループ回数を表示できます。

サンプル
<ul>
{foreach from=$array item='item' name='loop'}
    <li>{$smarty.foreach.loop.index}:{$item}</li>
{/foreach}
</ul>

nameの設定されたforeachのトータルのループ回数を取得するにはtotal

foreach内のトータルのループ回数を取得したいときは、totalを利用します。
たとえば、配列に3件のデータが格納されている場合は、3を表示します。

※なお、トータル回数はforeachを抜けた後でも表示することができます。
 foreachより前では利用できません。

{$smarty.foreach.loop.total}件のデータがあります。{* 合計回数を表示できません。 *}
<ul>
{foreach from=$array item='item' key='key' name='loop'}
    <li>{$key}:{$item}</li>
{/foreach}
</ul>
{$smarty.foreach.loop.total}件のデータがあります。{* 合計回数を表示できます。 *}
参考URL

記事移動

関連記事

Smartyで配列の中身をデバッグする方法

smartyのarray_key_existsで配列の中のキーの有無を調べる方法

smartyのin_arrayで配列の中の値の有無を調べる方法

smartyのassignでテンプレート内変数を定義する方法

smartyでいろいろ計算をする(math利用法)

smartyのforeachで最初と最後のループの時になにかする方法

Comment Form

  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Postkey
(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

創作サイトから中小企業まで東京都三鷹市で低価格高品質なホームページ制作(SOHO)【I'll be NET】

プロフィール

author:I'll be NET

since:2014.01.01

東京都を拠点としたSOHO(フリーランス)による創作サイト向けWEB制作サービスを行っています。 お仕事とか創作活動とかでメモっておきたいこととかを掲載しています。

more

Feed