ThinkPHP中foreach和volist的区别
程序员文章站
2022-05-17 17:20:19
...
1.foreach标签
foreach标签用于循环输出:
foreach(name,item,key)
name(必须):要输出的数据模板变量
item(必须):循环单原变量
key(可选):循环的key变量,默认值为key
示例:
{$vo.id}
{$vo.name}
foreach标签相对于volist标签简洁,没有volist标签那么多功能。优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。
foreach标签用于循环输出:
foreach(name,item,key)
name(必须):要输出的数据模板变量
item(必须):循环单原变量
key(可选):循环的key变量,默认值为key
示例:
{$vo.id}
{$vo.name}
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();
在模板定义如下,输出编号和姓名
{$vo.id}
{$vo.name}
支持输出部分数据,例如输出其中的第5-15条记录:
{$vo.id}
{$vo.name}
输出偶数行记录:
mod属性还用于控制一定记录的换行:
{$vo.name}
输出循环变量:
{$k}.{$vo.name}
如果没有指定key属性的话,默认使用循环变量i,例如:
{$i}.{$vo.name}
如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:
{$key}.{$vo.name}
volist还有一个别名iterate,用法和volist是一样。
从2.1版开始允许使用函数设定数据集,如:
推荐阅读
-
sqlserver中delete、update中使用表别名和oracle的区别
-
PHP中strlen()和mb_strlen()的区别浅析
-
Node.js 中exports 和 module.exports 的区别
-
JavaScript中的toString()和toLocaleString()方法的区别
-
PHP中4个加速、缓存扩展的区别和选用建议
-
对python中 math模块下 atan 和 atan2的区别详解
-
Shell脚本中单引号(‘)和双引号(“)的使用区别
-
照片和图形在平面设计中的区别与应用
-
你真的了解MyBatis中${}和#{}的区别吗?
-
php 中self,this的区别和操作方法实例分析