当前位置: 首页 > article >正文

Thinkphp 6.0模版的循环标签

本节课我们来学习一下模版标签中循环标签的使用,包括 foreach、volist 和 for。


一.foreach 循环


1. 控制前端先通过模型把相应的数据列表给筛选出来;

$list = User::select();
return View::fetch('loop', [
'list' => $list
]);


2. 在模版端使用对称的标签{foreach}...{/foreach}实现循环;
3. 注意:这里对象调用时:用->符号或用.符号均可正确实现数据显示;
 

{foreach $list as $key=>$obj}
<tr>
<td>{$key}/{$obj->id}</td> //{$obj.id}也行
<td>{$obj->username}</td>
<td>{$obj->gender}</td>
<td>{$obj->email}</td>
<td>{$obj->price}</td>
<td>{$obj->create_time}</td>
</tr>
{/foreach}


二.volist 循环


1. volist 也是将查询得到的数据集通过循环的方式进行输出;

{volist name="list" id="obj"}
<tr>
<td>{$key}/{$obj->id}</td> //{$obj.id}也行
<td>{$obj->username}</td>
<td>{$obj->gender}</td>
<td>{$obj->email}</td>
<td>{$obj->price}</td>
<td>{$obj->create_time}</td>
</tr>
{/volist}


2. volist 中的 name 属性表示数据总集,id 属性表示当前循环的数据单条集;
3. 使用 offset 属性和 length 属性从第 4 条开始显示 5 条,这里下标从 0 开始;

{volist name="list" id="obj" offset='3' length='5'}

4. 可以使用 eq 标签(下节课比较标签的知识点),来实现奇数或偶数的筛选数据;
 

{volist name="list" id="obj" mod="2"}
{eq name='mod' value='0'}... 

5. 通过编译文件可以理解,mod=2 表示索引除以 2 得到的余数是否等于 0 或 1;
6. 如果余数设置为 0,那么输出的即偶数,如果设置为 1,则输出的是奇数;
7. 当然,切换到其它数字,也会有更多的排列效果;
8. 使用 empty 属性,可以当没有任何数据的时候,实现输出指定的提示;

{volist name="list" id="obj" empty="没有数据"}

9. 使用 key='k',让索引从 1 开始计算,不指定就用{$i},指定后失效;

{volist name='list' id='obj' key='k'}
{$k}
{/volist}


三.for 循环
1. for 循环,顾名思义,通过起始和终止值,结合步长实现的循环;
 

{for start='1' end='100' comparison='lt' step='2' name='i'}
{$i}
{/for}


http://www.kler.cn/a/7996.html

相关文章:

  • C语言中的贪心算法
  • 最新的序列数据预测模型SOFTS详解
  • module ‘django.db.models‘ has no attribute ‘FieldDoesNotExist‘
  • (南京观海微电子)——GH7009开机黑屏案例分析
  • 【教程】通过Docker运行AnythingLLM
  • 深度学习中的参数初始化
  • ToBeWritten之反入侵安全技术面经总结
  • JSON 数据解析的3种方式
  • 2022国赛24:linux基础配置和本地源创建
  • Transformer中的注意力机制及代码
  • 动态规划之线性DP
  • 基于凸集上投影(POCS)的聚类算法
  • Pycharm用ssh连接GCP以后,可以项目都放在本地,只是调用GCP的计算资源吗?
  • Vue+springboot+java学生成绩动态追踪系统课程资源课件下载设计与实现
  • 【Python】【进阶篇】三、Python爬虫的构建User-Agnet代理池
  • itext使用缺陷?
  • Linux下的shell编程(必须给予执行权限)
  • ChatGPT帮我和老板吵架,半分钟做了个思维导图...
  • jackson、fastjson、kryo、protobuf等序列化效率对比【全】
  • ospf综合实验
  • 【Spring Boot】自定义 Banner
  • WebSocket与HTTP联系及Socket的区别
  • VisualStudio如何进行OneNote插件开发?
  • 全文检索工具 Lucene 入门
  • 响应式布局是什么?如何实现响应式布局
  • 逻辑删除和唯一约束冲突的解决方案