<{foreach}> を使用して、通常の数値添字配列と同じように 連想配列 をループします。 <{section}> のように、数値添字の配列のみ をループさせるということはありません。 <{foreach}> の構文は <{section}> よりずっと簡単ですが、その代わりに 1 つの配列 しか扱えません。 すべての <{foreach}> タグは、終了タグ <{/foreach}> とペアである必要があります。
| 属性名 | 型 | 必須 | デフォルト | 概要 |
| from | array | Yes | n/a | ループに使用する配列 |
| item | string | Yes | n/a | 現在の要素を示す変数の名前 |
| key | string | No | n/a | 現在のキーを示す変数の名前 |
<?php
$arr = array(1000, 1001, 1002);
$simplate->assign('myArray', $arr);
?>
$myArray を順序なしリストで出力するテンプレート
<ul>
<{foreach from=$myArray item=foo}>
<li><{$foo}></li>
<{/foreach}>
</ul>
出力
<ul>
<li>1000</li>
<li>1001</li>
<li>1002</li>
</ul>
<?php
$arr = array(9 => 'Tennis', 3 => 'Swimming', 8 => 'Coding');
$simplate->assign('myArray', $arr);
?>
$myArray を キー/値 のペアで出力するテンプレート。 PHP の foreach と似ています。
<ul>
<{foreach from=$myArray key=k item=v}>
<li><{$k}>: <{$v}></li>
<{/foreach}>
</ul>
出力
<ul>
<li>9: Tennis</li>
<li>3: Swimming</li>
<li>8: Coding</li>
</ul>
<?php
$items_list = array(23 => array('no' => 2456, 'label' => 'Salad'),
96 => array('no' => 4889, 'label' => 'Cream')
);
$simplate->assign('items', $items_list);
?>
$items と $myId を url に出力するテンプレート
<ul>
<{foreach from=$items key=myId item=i}>
<li><a href="item.php?id=<{$myId}>"><{$i.no}>: <{$i.label}></li>
<{/foreach}>
</ul>
出力
<ul> <li><a href="item.php?id=23">2456: Salad</li> <li><a href="item.php?id=96">4889: Cream</li> </ul>
配列を Simplate に割り当てます。key にはループする値のキーが含まれます。
<?php
$simplate->assign('contacts', array(
array('phone' => '1',
'fax' => '2',
'cell' => '3'),
array('phone' => '555-4444',
'fax' => '555-3333',
'cell' => '760-1234')
));
?>
$contact を出力するテンプレート
<{foreach item=contact from=$contacts}>
<hr />
<{foreach key=key item=item from=$contact}>
<{$key}>: <{$item}><br />
<{/foreach}>
<{/foreach}>
出力
<hr /> phone: 1<br /> fax: 2<br /> cell: 3<br /> <hr /> phone: 555-4444<br /> fax: 555-3333<br /> cell: 760-1234<br />