http://blog.163.com/lgh_2002/blog/static/44017526200888105328592/ 和官网
<foreach name=outer item=contact from=$contacts}
<hr />
{foreach key=key item=item from=$contact}
{$key}: {$item}<br />
{/foreach}
{/foreach}
item、from 必须要有的参数
$smarty.foreach.foo.index 从零开始
{* 每五行输出一次头部区块 *} <table> {foreach from=$items key=myId item=i name=foo} {if $smarty.foreach.foo.index % 5 == 0} <tr><th>Title</th></tr> {/if} <tr><td>{$i.label}</td></tr> {/foreach} </table> |
$smarty.foreach.foo.iteration 从1开始
{* 该例将输出0|1, 1|2, 2|3, ... 等等 *} {foreach from=$myArray item=i name=foo} {$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration}, {/foreach} |
{* 对于第一个条目显示LATEST而不是id *} <table> {foreach from=$items key=myId item=i name=foo} <tr> <td>{if $smarty.foreach.foo.first}LATEST{else}{$myId}{/if}</td> <td>{$i.label}</td> </tr> {/foreach} </table> |
$smarty.foreach.foo.last
{* 在列表结束时增加一个水平标记 *}) {foreach from=$items key=part_id item=prod name=products} <a href="http://blog.163.com/lgh_2002/blog/#{$part_id}">{$prod}</a>{if $smarty.foreach.products.last}<hr>{else},{/if} {foreachelse} ... content ... {/foreach} |
{break}
{$data = [1,2,3,4,5]} {foreach $data as $value} {if $value == 3} {* abort iterating the array *} {break} {/if} {$value} {/foreach} {* prints: 1 2 *}
{continue}
{$data = [1,2,3,4,5]} {foreach $data as $value} {if $value == 3} {* skip this iteration *} {continue} {/if} {$value} {/foreach} {* prints: 1 2 4 5 *}