View Single Post
  #1   IP: 153.99.23.206
Old 2015-06-13, 04:00 PM
Mamou Mamou is offline
初级会员
 
Join Date: 2007-04-09
Posts: 3
Mamou 现在声名狼藉
Default Smarty foreach控制循环次数的实现详解

在smarty中数组是经常会用到的,循环遍历数组用 section 或者 foreach ,如何得到数组长度或者判断一个数组个数呢
1.可以用{$array| count} 来试试。
Code:
{foreach from=$variable key=key name=name iteam=value}
    {$variable|@count}     // 获取数组长度
    {$smarty.foreach.loop.index}    // 获取当前循环数组元素下标,以0开始
    {$smarty.foreach.loop.iteration}    // 获取当前循环次数,以1开始
    {$smarty.foreach.loop.first}    // 为true时,标记循环第一次执行
    {$smarty.foreach.loop.last}    // 为true时,标记循环最后一次执行
 {$smarty.foreach.name.last}    // 为true时,标记循环最后一次执行
    {$smarty.foreach.loop.show}    // 当前是否显示
    {$smarty.foreach.loop.total}    // 循环次数
{/foreach}
2、控制循环次数
Code:
{foreach name=infolist from=$VIDEO_INFO_LIST item=infolist}
{assign var=floor value=$smarty.foreach.infolist.index}
{if $floor<5%}      {*或者 if $smarty.foreach.infolist.iteration <5*}
 <li>{$infolist%}</li> 
{/if} 
{/foreach}
Reply With Quote