smarty-foreach-key-value-index-iteration最全用法

基本smarty句式:

{foreach key=cid item=con from=$results}
{$con.name} - {$con.nick}
{/foreach}


 

.index包含当前数组索引,从零开始。

{* The header block is output every five rows *}
{* 每五行输出一次头部区块 *}

{foreach from=$items key=myId item=i name=foo}
{if $smarty.foreach.foo.index % 5 == 0}

{/if}

{/foreach}
Title
{$i.label}


 


.iteration包含当前循环次数,与index不同,从1开始,每次循环增长1。

{* this will output 0|1, 1|2, 2|3, ... etc *}
{* 该例将输出0|1, 1|2, 2|3, ... 等等 *}
{foreach from=$myArray item=i name=foo}
{$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration},
{/foreach}


 

.first在当前{foreach}循环处于初始位置时值为TRUE。

{* show LATEST on the first item, otherwise the id *}
{* 对于第一个条目显示LATEST而不是id *}

{foreach from=$items key=myId item=i name=foo}

{/foreach}
{if $smarty.foreach.foo.first}LATEST{else}{$myId}{/if} {$i.label}


 

.last在当前{foreach}循环处于最终位置是值为TRUE。

{* Add horizontal rule at end of list *}
{* 在列表结束时增加一个水平标记 *})
{foreach from=$items key=part_id item=prod name=products}
{$prod}{if $smarty.foreach.products.last}
{else},{/if} {foreachelse} ... content ... {/foreach}


 


.total包括{foreach}将循环的次数,既可以在{foreach}中使用,也可以在之后使用。

{* show rows returned at end *}
{* 在结束位置显示行数 *}
{foreach from=$items key=part_id item=prod name=foo}
{$prod.name>
{if $smarty.foreach.foo.last}
{$smarty.foreach.foo.total} items
{/if} {foreachelse} ... something else ... {/foreach}


 

你可能感兴趣的:(PHP)