foreach和volist的区别
foreach和volist的区别
1.foreach标签
foreach标签用于循环输出:
foreach(name,item,key)
name(必须):要输出的数据模板变量
item(必须):循环单原变量
key(可选):循环的key变量,默认值为key
示例:
<foreach name='list' item='vo'>
{$vo.id}
{$vo.name}
</foreach>
foreach标签相对于volist标签简洁,没有volist标签那么多功能。优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。
2.volist标签
volist标签主要用于在模板中循环输出数据集或者多维数组
volist(name,id,offset,length,key,mod,empty)
name(必须):要输出的数据模型变量
id(必须):循环变量
offset(可选):要输出数据的offset
length(可选):输出数据的长度
key(可选):循环的key变量,默认值为i
mod(可选):对key值取模,默认为2(用于偶数行查询等)
empty(可选):如果数据为空显示的字符串
通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。
在Action中首先对模板赋值:
$user=M('User');
$list=$user->select();
$this->assign('list',$list);
$this->display();
在模板定义如下,输出编号和姓名
<volist name='list' id='vo'>
{$vo.id}
{$vo.name}
</volist>
支持输出部分数据,例如输出其中的第5-15条记录:
<volist name='list' id='vo' offset='5' length='10'>
{$vo.id}
{$vo.name}
</volist>
输出偶数行记录:
<volist name='list' id='vo' mod='2'>
<eq name="mod" value='1'>{$vo.name}</eq>
</volist>
mod属性还用于控制一定记录的换行:
<volist name='list' id='vo' mod='5'>
{$vo.name}
<eq name="mod" value='4'><br/></eq>
</volist>
输出循环变量:
<volist name='list' id='vo' key='k'>
{$k}.{$vo.name}
</volist>
如果没有指定key属性的话,默认使用循环变量i,例如:
<volist name="list" id="vo" >
{$i}.{$vo.name}
</volist>
如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:
<volist name="list" id="vo" >
{$key}.{$vo.name}
</volist>
volist还有一个别名iterate,用法和volist是一样。
从2.1版开始允许使用函数设定数据集,如:
<volist name=":fun('arg')" id="vo">{$vo.name}</volist>
来自http://blog.csdn.net/w1365966490/article/details/8949649
转载于:https://www.cnblogs.com/lovebing/p/7459154.html
foreach和volist的区别相关推荐
- [JS] for-each和map()的区别
先说下for-each与for-of还有for-in的区别. for-of和for-in都是对对象操作的,而for-each和map()是对数组进行操作的. for-in的使用:对于一个数组里的每一个 ...
- php in循环与for循环,详谈js中标准for循环与foreach(for in)的区别
js中遍历数组的有两种方式 var array=['a'] //标准的for循环 for(var i=1;i alert(array[i]) } //foreach循环 for(var i in ar ...
- JS数组中 forEach() 和 map() 的区别
JS数组中 forEach() 和 map() 的区别 Array中 Array.forEach()和 Array.map()方法之间的区别. forEach()和map()方法通常用于遍历Array ...
- vue forEach和map的区别
记录工作中遇到的问题,选择右边数组一项进行删除,forEach和map的区别就出来了 1.刚开始是foreach写的,效果没出来 this.rightTree:表示右边的数组this.oriFathe ...
- java foreach和for循环区别_java相关:老生常谈foreach(增强for循环)和for的区别
java相关:老生常谈foreach(增强for循环)和for的区别 发布于 2020-8-18| 复制链接 下面小妖就为大家带来一篇老生常谈foreach(增强for循环)和for的区别.小妖觉得挺 ...
- 数组中的forEach和map的区别
大多数情况下,我们都要对数组进行遍历,然后经常用到的两个方法就是forEach和map方法. 先来说说它们的共同点 相同点 都是循环遍历数组中的每一项 forEach和map方法里每次执行匿名函数都支 ...
- foreach和map的区别
1.相同点 1) 都是循环遍历数组中的每一项. 2) 每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组). 3) 匿名函数中的this都是指向wi ...
- nodejs中forEach和普通循环区别
问题描述: 最近在写代码中发现在forEach循环中,使用await函数跟正常的循环有区别,所以进行记录. 一般我们都将forEach叫做增强for循环,确实减少了部分代码量,但是当内部使用await ...
- php中的foreach和js中的foreach的用法和区别
PHP中的foreach循环: 主要用于遍历数组 例如: (1)// $colors=array("red","yellow","blue" ...
最新文章
- Linux16-防火墙与firewalld
- AWS — Nitro System
- JSPDF运用实例(解决图片跨域问题)
- 控制结构(1)-判断控制
- 30-35岁职场规划深谈,字字戳心
- Leetcode 268. 缺失数字 解题思路及C++实现
- Python运行异常 Original error was: DLL load failed:
- 【快乐水题】2000. 反转单词前缀
- Tcp连接arp协议详解
- Spring Boot——不同环境调用不同的配置文件解决方案
- Object-c 类、对象方法
- Codeforce_732
- 如何在Global.asax中判断是否是ajax请求
- 盐城工学院计算机基础试卷,大学计算机基础及实用软件/大学计算机基础
- java m2文件放哪里_windows下打开.m2文件夹,没有找到setting.xml
- rust怎么用items刷东西_rust服主怎么刷东西 | 手游网游页游攻略大全
- 蓝桥杯 基础练习 高精度加法
- 【开发者笔记】利用ab命令对接口进行压力测试
- 修复Win10任务栏开始菜单等系统图标无法点击问题
- 学画画软件app推荐_绘画APP推荐|很全的学画画的APP推荐
热门文章
- iphone 数据存储之属性和归档archive
- MANet:盲图像超分辨率中空间变异核估计的互仿射网络(ICCV 2021)
- 炸!自动驾驶界又添利器!
- 阿联酋起源人工智能研究院(IIAI)诚邀优秀人才加盟
- 模型优化秘诀:从数据的角度分析,零代码也可以提升精度
- 强化学习能挑战众多世界冠军,人类亦能利用强化学习成为冠军
- 强调模型可复现性!英伟达与伦敦国王学院开源医学AI框架 MONAI
- ICCV 2019 Oral | 解读北大提出的期望最大化注意力网络EMANet
- 《Python编程从入门到实践》记录之Python函数返回值
- 从零开始编写深度学习库(五)Eigen Tensor学习笔记2.0