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

トップページ > PHP > smartyのforeachで最初と最後のループの時になにかする方法

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

  • 投稿日:2015/11/18 |最終更新:2015/11/19
  • PHP
  • smarty

smartyで配列を繰り返して表示するときは、foreachを使います。
foreachで配列を繰り返す中で、最初のループの時と最後のループの時になにかをするには、foreachに名前をつけて利用します。

{foreach from=$array item='item' name='ループ名'}
    {if $smarty.foreach.ループ名.first}初回ループ時の処理{/if}
    {if $smarty.foreach.ループ名.last}最後のループ時の処理{/if}
{/foreach}

まず、name='ループ名'でループ名を設定します。
ループ名を設定したforeachの中で{$smarty.foreach.loop.first}と記述すると、初回ループ時にtrue、初回ループでないときにはfalseとなります。
また、ループ名を設定したforeachの中で{$smarty.foreach.loop.last}と記述すると、最後のループ時にtrue、最後のループでないときにはfalseとなります。

サンプル

<ul>
{foreach from=$array item='item' name='loop'}
    {if $smarty.foreach.loop.first}
        <li>初回のループです</li>
    {elseif $smarty.foreach.loop.last}
        <li>最後のループです</li>
    {else}
        <li>初回のループでも最後のループでもありません</li>
    {/if}
{/foreach}
</ul>

 上記の場合、例えば3つの値が入った配列の場合は、

<ul>
    <li>初回のループです</li>
    <li>初回のループでも最後のループでもありません</li>
    <li>最後のループです</li>
</ul>

のように出力されます。

参考URL

この記事が気に入ったらシェアしてください。

関連記事

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

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

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

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

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

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

Comment Form

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

Profile

yuricolo@I'll be NET

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