语法如下
{foreach from=$arr name="" item="value" key="key"}
{$key} {$value}
{/foreach}
from : 被遍历的数组-->$变量
name : 此foreach的name
item : 被遍历出的数组元素的值的变量名
key : 被遍历出的数组元素的key
二维的数组 : 外数组索引 内数组是关联: 字段名=>值
$smarty.foreach.name.属性
index索引值
first:第一次循环
last:最后一次循环
index.php代码如下
<?php require("./Smarty.inc.php");//引入smarty的初始化文件 //一维索引数组 $arr_1 = array(1,2,3,4,5,6); $smarty->assign("arr_1",$arr_1); //二维关联数组 $data = array( array("id"=>1,"name"=>"tom","age"=>22), array("id"=>2,"name"=>"lili","age"=>12), array("id"=>3,"name"=>"jim","age"=>42), ); $smarty->assign("data",$data); $smarty->display("index.html"); //这行代码要放到最后否则会报错 ?>
/template/index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title></title> </head> <body> {foreach from=$arr_1 name="" item="value" key="key" } {$key}--->{$value} <br/> {/foreach} <hr/> <!--类似于有的网站新闻栏目第一条标题加粗效果--> {foreach from=$arr_1 item="value" name="num" key="key"} {if $smarty.foreach.num.first} <h3>{$value}</h3> {else} {$value} <br/> {/if} {/foreach} <hr/> <!-- 遇到二维关联数组,可以用如下方法访问 $XXX["XXX"] || $XXX.XXX --> {foreach from=$data item="val" name="xiaosi"} {$val.id} {$val.name} {$val.age} <br/> {foreachelse} 11111111111 {/foreach} </body> </html>