メニュー 表示 非表示

Smartyでforeachを利用@PHP

Smartyでforeachを利用して繰り返し処理を行います。

fromで配列をしていします。
keyとitemにキー値と値を格納する変数を指定します。

nameには、このforeachの名前を付けます。
この名前を利用して、以下を利用することができます。
$smarty.foreach.name.total:件数
$smarty.foreach.name.first:最初かどうか
$smarty.foreach.name.last:最後かどうか
$smarty.foreach.name.iteration:現在のインデックス値

また、foreachelseで配列がない場合の処理も行えます。

test.php

<?php

//Smartyライブラリ
require '../libs/Smarty.class.php';

//生成
$smarty = new Smarty;

//変数「arr」に、配列を格納
$smarty->assign("arr", array("a", "b", "c"));

//テンプレート「test.tbl」を呼び出して表示
$smarty->display('test.tpl');

?>


test.tbl

<html>
<head>
</head>

<body>

{foreach from=$arr key="key" item="value" name="name"}
    
    {if $smarty.foreach.name.first}
        最初
    {elseif $smarty.foreach.name.last}
        最後
    {else}
        {$smarty.foreach.name.iteration }番
    {/if}

    KEY:{$key}、ITEM:{$value}<BR>
{foreachelse}
    データがない時の処理
{/foreach}
<BR>
件数:{$smarty.foreach.name.total}
</body>
</html>


Copyright (C) PHPのお勉強. All Rights Reserved.