foreach跟volist的区别
发布时间:2015-10-14, 16:52:49 分类:PHP | 编辑 off 网址 | 辅助
正文 1947字数 115,188阅读
<foreach name="list" item="vo">
{$vo.id}
{$vo.name}
</foreach>
Run code
Cut to clipboard
Foreach标签相对比volist标签简洁,没有volist标签那么多的功能。优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。
在模版定义如下,循环输出用户的编号和姓名:
<volist name="list" id="vo">
{$vo.id}
{$vo.name}
</volist>
Run code
Cut to clipboard
Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突,例如:
<volist name="list" id="data">
{$data.id}
{$data.name}
</volist>
Run code
Cut to clipboard
支持输出部分数据,例如输出其中的第5~15条记录
<volist name="list" id="vo" offset="5" length='10'>
{$vo.name}
</volist>
Run code
Cut to clipboard
输出偶数记录
<volist name="list" id="vo" mod="2" >
<eq name="mod" value="1">{$vo.name}</eq>
</volist>
Run code
Cut to clipboard
Mod属性还用于控制一定记录的换行,例如:
<volist name="list" id="vo" mod="5" >
{$vo.name}
<eq name="mod" value="4"><br/></eq>
</volist>
Run code
Cut to clipboard
输出循环变量
<volist name="list" id="vo" key="k" >
{$k}.{$vo.name}
</volist>
Run code
Cut to clipboard
如果没有指定key属性的话,默认使用循环变量i,例如:
<volist name="list" id="vo" >
{$i}.{$vo.name}
</volist>
Run code
Cut to clipboard
如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:
<volist name="list" id="vo" >
{$key}.{$vo.name}
</volist>
Run code
Cut to clipboard
volist还有一个别名iterate,用法和volist是一样。
这个是框架thinkphp里面的
在Action里把$this->assign("list",$list);
在html模板里
<ul>
<volist name='list' id='vo'>
<li>vo["表中字段"]</li>
</volist>
</ul>
追问
Action在哪里?单独的文件夹吗
回答
是啊,在Lib文件夹里,是自动生成的
这个是一时半会儿说不明白的,我建议你去thinkphp官网上去下个thinkphp手册看一下,很简单的,不知道,你用的是什么框架
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
暂无评论 »