关于php中smarty模版的section二维数组一些参数的解释

第一个PHP文件:index.php<?phpinclude("smarty_con.php");$new[]=array(array("biao_ti"=>"新闻第一条... 第一个PHP文件:index.php
<?php
include("smarty_con.php");
$new[]=array(array("biao_ti"=>"新闻第一条","date"=>"2011-8-11"),
array("biao_ti"=>"新闻第二条","date"=>"2011-8-11"),
array("biao_ti"=>"新闻第三条","date"=>"2011-8-11"),
array("biao_ti"=>"新闻第四条","date"=>"2011-8-11"));
$smarty->assign("body",$new);
$smarty->display("index.htm");
?>

第二个模板HTM文件:index.htm
<html>
<head>
<title>Smarty模板实例</title>
</head>
<body>
{section name=list loop=$body}
//这里的name和loop分别代表什么意思?name指的是循环名字,loop指内容,是不是说name就是指一个数组的名字?loop就是数组的内容?搞迷糊了我(┬_┬)
{$body[list].biao_ti} | {$body[list].date}
//还有这一行,$body[list]是指二维数组的第一个key=>value键值对??之后的biao_ti指键值对下的key???可是为什么用$body[list]表示呢,我表示很不解额,就这两个问题!!!!请高手回答我的问题
{/section}
</body>
</html>
展开
 我来答
hotniunai
2011-08-27 · 超过42用户采纳过TA的回答
知道答主
回答量:183
采纳率:0%
帮助的人:83.7万
展开全部
section里面的属性name是该循环的名称,loop为你要循环的数组,还有start 表示循环的初始位置,step表示步长,这里的name可以任意给定一个值相当于定义一个变量一样,而loop是你要循环的那个数组,这儿是$body。
分析下这个数组的第一个元素:
$new[]=array(
array(
"biao_ti"=>"新闻第一条",
"date"=>"2011-8-11"
)
不难看出来这是一个三维数组,因为$new[]就可以写成$new=array(),那么用$body[list]表示的问题就可以解决了,也就是说$new[]的KEY值为0第二维的array也为[0]
$new=array(
[0]=>array(
[0]=>array(
("biao_ti"=>"新闻第二条","date"=>"2011-8-11"
)
[1]=>array(
("biao_ti"=>"新闻第二条","date"=>"2011-8-11"
)
[2]=>array(
("biao_ti"=>"新闻第二条","date"=>"2011-8-11"
)
[3]=>array(
("biao_ti"=>"新闻第二条","date"=>"2011-8-11"
)
)
)
他循环出来的键值就是按索引顺序循环出来了啊,有点绕了~~~不过理一下思路就出来了
bjwebmind
2011-08-31
知道答主
回答量:11
采纳率:0%
帮助的人:7.3万
展开全部
{section name=list loop=$body}
这在smarty里面就相当于是php中的一个循环

参考资料: 采晶智慧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duolei28
2011-08-27 · TA获得超过149个赞
知道答主
回答量:156
采纳率:0%
帮助的人:142万
展开全部
3.smarty中这个数组能否使用foreach列出? 问题就这些 各位php侠客就拜托了另外如果可以用foreach的时候,还是用foreach比较好,section的效率比foreach低
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式