smarty中foreach问题

#1 shejiqi

<{foreach xxxx  xxxx}>
xxxxxxxxxxxxxxxxx
<{/foreach}>

// 就是我想实现这么一个功能,在循环2次后,输出一个
应该怎么写

smarty可以定义变量吗?可以进行变量运算吗?我是想判断某个变量能整除2的时候就输出
,然后循环一次变量就+1

但不知道在smarty中该如何书写

2010-09-10 18:04:57

#2 jake

smarty的foreach有 iteration, first, last,  total.这几个循环内的变量可以用,不过首先,foreach都必须给一个name(不用那些变量的foreach不需要)
<{foreach from=$results item=val name=myforeach}>
现在执行的次数<{$smarty.foreach.myforeach.iteration}>


<{if $smarty.foreach.myforeach.iteration % 2 == 0}>我是除2等于0的
<{/if}>
<{/foreach}>

然后
first, last, 代表循环的第一次和最后一次,都是用于判断的,比如说last如果等于true就是已经执行到最后一次。

total是循环的总次数,相等于count($results),不过total一定要在循环后才可以用,循环前用不了~~~

详情可见:
http://www.smarty.net/manual/en/language.function.foreach.php

2010-09-10 21:35:13

#3 shejiqi

太感谢了

2010-09-12 05:12:18

#4 cgjcgs

我也来找答案了

2012-09-13 16:21:24