语法如下

{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>


smarty模板引擎总结三_smary 模板foreach遍历数组