Smartyでインデックス(INDEX)の表示

Smartyでインデックス(INDEX)の表示

PHPSmartyでインデックス(INDEX)の表示

PHP でビュー(view)に Smarty を使用している場合、ループの中でインデックス番号を表示したい時があります。Smarty でループを表現するときは、foreach や section が一般的だと思いますので foreach を例を 2 つ。次のような競馬場と地域が書いた連想配列が配列に入っていると仮定します。

$data = array();

$tmp["place"] = "関西";
$tmp["name"] = "京都競馬場";
$data[] = $tmp;

$tmp["place"] = "関東";
$tmp["name"] = "東京競馬場";
$data[] = $tmp;

これを、Smarty を使って表示させてみます。その際、1 番目、2 番目というように番号を付けます。

{foreach from=$data key="key" item="value" name="d"}
    {$smarty.foreach.d.iteration}, {$value.place|escape}, {$value.name|escape}<br />
{/foreach}

[表示結果]
1, 関西, 京都競馬場
2, 関東, 東京競馬場

foreach で 1 からインデックスを付ける場合は、iteration を利用します。逆に、配列のインデックスのように 0 から振りたい場合は index を使います。

最終更新日:

関連記事

人気記事

新着情報