日期:2014-05-17  浏览次数:20443 次

smarty模板中怎么写循环
研究了半天教程,好像所有的循环都是针对传入数组的

我的问题是这样的:
在一个传入数组中,有8个元素是从i0到i7命名的,现在需要对这个8个元素进行处理
因为这个数组中还包含其它元素,因此不能针对数组进行循环处理
我想的是类似于这样
for ($i=0; $i < 8; $i++)
{
  echo $arr["i$i"];
}
我在smarty中嵌入这段php代码,结果好像是获取不过$arr这个变量,导致没有输出。

不知道这个在smarty中该如何实现,请高手指点

------解决方案--------------------
还有个思路你可以在php页面写个数组,里面分别是i0-i7,然后循环这个数组,在里面打印有数据的数组。。
比如你传的数组是$i
PHP code
{foreach from=$i item=item}
{$arr[$item]}<br>
</foreach>

------解决方案--------------------
PHP code
foreach(from=$arr; key=k item=v){
键:{$k}:值{$v}
}

------解决方案--------------------
{section name="fooo" loop=$new_re_j}
{$new_re_id[fooo]}
{/section}

------解决方案--------------------
在smarty中嵌套循环吧
------解决方案--------------------
section foreach循环;

------解决方案--------------------
{foreach from=$i item=item}
{$arr[$item]}<br>
</foreach>


------解决方案--------------------
为什么要在smarty中做呢?在php中处理完,然后输出数组显示不是更好吗?
------解决方案--------------------
smarty模板里面一般都是用foreach进行循环

{{foreach from=$test key=key item=i}}

{{/foreach}}