导读:在smarty模板中循环语句有常用的几种,loop,section循环块,foreach循环块下面我来介绍它们的使用方法,有需要了解的朋友可参考参考。forea...
在smarty模板中循环语句有常用的几种,loop,section循环块,foreach循环块下面我来介绍它们的使用方法,有需要了解的朋友可参考参考。
foreach:用于循环简单数组,它是一个选择性的section循环,它的定义格式为:
{foreach from=$array item=array_id}
{foreachelse}
{/foreach}
例
php文件
$array[] = array("newsID"=>1, "newsTitle"=>"第1条新闻");
$array[] = array("newsID"=>2, "newsTitle"=>"第2条新闻");
$array[] = array("newsID"=>3, "newsTitle"=>"第3条新闻");
$array[] = array("newsID"=>4, "newsTitle"=>"第4条新闻");
$array[] = array("newsID"=>5, "newsTitle"=>"第5条新闻");
$array[] = array("newsID"=>6, "newsTitle"=>"第6条新闻");
$xoopsTpl->assign("newsArray", $array);
模板
{foreach from=$newsArray item=array_id}
{$item.newsTitle}
{/foreach}
foreach还可以用foreachelse来匹配,用foreachelse来表示当传递给foreach的数组为空值时程序要执行的操作
section,sectionelse,/section
section里面可以带的参数如下
1,name单次循环的名称,必须有的选项
2,loop循环的变量名称,必须有的选项
3,start 循环开始的KEY值 ,默认是从第一个开始,
4,step设置循环的跳跃数,step=2将只遍历下标为0、2、4等的元素.
5,max循环的次数,默认为1,
6,show是不是显示该循环
例
$id=array('1000','1001','1002');
$name=array('John Smith','Jack Jones','Jane Munson');
$address=array('253 N 45th','417 Mulberry ln','5605 apple st');
$smarty->assign('id',$id);
$smarty->assign('name',$name);
$smarty->assign('address',$address);
模板
<{section name=h1 loop=$name}>
id:<{$id[h1]}>
name:<{$name[h1]}>
address:<{$address[h1]}>
<{/section}>
本文来自:http://www.111cn.net/phper/smarty/46093.htm