永发信息网

ThinkPHP中foreach和volist的区别

答案:1  悬赏:50  手机版
解决时间 2021-04-20 12:23
ThinkPHP中foreach和volist的区别
最佳答案
ThinkPHP中foreach和volist的区别
1.foreach标签
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}

输出偶数行记录:

{$vo.name}

mod属性还用于控制一定记录的换行:

{$vo.name}



输出循环变量:

{$k}.{$vo.name}

如果没有指定key属性的话,默认使用循环变量i,例如:

{$i}.{$vo.name}

如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:

{$key}.{$vo.name}

volist还有一个别名iterate,用法和volist是一样。
从2.1版开始允许使用函数设定数据集,如:
{$vo.name}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ炫舞的戒指怎么样弄字呀?
国家海洋运输在兰州有分公司吗?
如果一异性对你说,在你面前本来是有很多话想
寻仙的精彩回馈一在哪弄啊?
淘宝店铺提升成交转化率的措施有哪些
距离“北京市丰台区科学城恒富中街6号院”最
娇兰佳人花都建设路店地址有知道的么?有点事
三星s3600刷机包
“喼”字是怎麼打的
我的电脑只能上QQ网页游戏都打不开?
职称论文鉴定评语,中级职称论文专家评审意见
复合井盖厚度和承载力
初三物理题 紧急求助!
有没有什么办法可以长高啊
广西钦州赛墟有车到东莞石龙的麽?
推荐资讯
高手帮忙解决下电脑问题
本地QQ会员会加速升级吗?
知道这个空间里的小图标怎么弄的?
我很胖,想快速减肥?怎么办
亚洲轩中餐厅地址有知道的么?有点事想过去
大家好我是CF北方网通的哪个战队收我?
我每天上班有十六个小时,每天只能睡六小,么
可以直接转载的当艾已成往事的flesh空间日记
怎样在直道无限加速
晚上睡觉听音乐会不会影响大脑?
电视机收不到台时的沙沙声
梦见墙倒是什么意思,昨梦墙倒是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?