foreach 跟volist 有什么区别?

<foreach name="list" item="vo">{$vo.id}{$vo.name}</foreach>Foreach标签相对比volist标签简洁,没有volist标签那么多的功能。优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。

在模版定义如下,循环输出用户的编号和姓名:

<volist name="list" id="vo">

{$vo.id}

{$vo.name}

</volist>

Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突,例如:<volist name="list" id="data">{$data.id}{$data.name}</volist>支持输出部分数据,例如输出其中的第5~15条记录 <volist name="list" id="vo" offset="5" length=‘10‘>{$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是一样。
时间: 2024-10-12 22:47:42

foreach 跟volist 有什么区别?的相关文章

【JAVA】for,foreach遍历数组时候一些区别

public class ArrayTest { static public void incr(int a[]) { for (Integer i : a) { i += 1; } } static public void incr1(int a[]) { for (int i = 0, len = a.length; i < len; i++) { // a[i] = a[i] + 1; a[i]++; } } static public void main(String args[]) {

ThinkPHP中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标签通常是用于输出数组

JS的forEach和map方法的区别,还有一个$.each

forEach()和map()两个方法都是ECMA5中Array引进的新方法,主要作用是对数组的每个元素执行一次提供的函数,但是它们之间还是有区别的.jQuery也有一个方法$.each(),长得和forEach()有点像,功能也类似.但是从本质上还是有很大的区别的,那么我们探探究竟. 一.forEach和map语法 语法: //forEach array.forEach(callback(currentValue, index, array){ //do something }, this)

TP模板标签中的 foreach 和 volist 的不同

<ul> <volist name='af' id='tc' key='kk' offset='5' length='15' mod='2' empty='no datas!'> <eq name='mod' value='1'> <li>{$key}--{$kk}--{$tc.id}--{$tc.title}--{$tc.content}</li> </eq> </volist> </ul> <ul&g

原生JS forEach()和map()遍历的区别以及兼容写法

一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input. 3.匿名函数中的this都是指Window. 4.只能遍历数组. 1.forEach() 没有返回值. arr[].forEach(function(value,index,array){ //do something }) 参数:value数组中的当前项,

foreach和for循环的区别

1.foreach foreach依赖IEnumerable接口. 第一次var a in GetList()时调用GetEnumerator()返回第一个对象并赋给a,以后每次再执行 var a in GetList() 的时候仅调用MoveNext,直到循环结束.在循环期间GetList()方法只执行一次. 1 foreach (var a in GetList()) 2 { 3 ... 4 } 5 6 //与下面具有相同功能 7 8 var a; 9 IEnumerator e = Get

JavaScript中for/in和for的区别

两个的作用都用来遍历对象,但为什么有了for in语句了还要for each in语句呢,后来看了下for each in开发的文档,for each in是作为E4X标准的一部分在javascript 1.6中发布的,而且它不是ECMAScript标准的一部分 区别一: for in是javascript 1.0 中发布的.        for each in是作为E4X标准的一部分在javascript 1.6中发布的,而它不是ECMAScript标准的一部分.        这将意味着存

js中数组遍历for与for in区别(强烈建议不要使用for in遍历数组)

转自: http://www.cnblogs.com/javaee6/p/4142270.html?utm_source=tuicool&utm_medium=referral js中遍历数组的有两种方式 1 2 3 4 5 6 7 8 9 var array=['a'] //标准的for循环 for(var i=1;i<array.length;i++){     alert(array[i]) } //foreach循环 for(var i in array){     alert(ar

Java script数组遍历for与for in的区别

我们在学习js中遍历数组的有两种方式 代码: var array=['a']//标准的for循环for(var i=1;i<array.length;i++){    alert(array[i])}//foreach循环for(var i in array){    alert(array[i])} 正常情况下上面两种遍历数组的方式结果一样.首先说两者的第一个区别 标准的for循环中的i是number类型,表示的是数组的下标,但是foreach循环中的i表示的是数组的key是string类型,