上一篇文章讲解“模型-输出替换”,本篇文章讲解“模板-内置标签之循环标签”。
循环标签
1. foreach标签
foreach标签的用法和PHP语法非常接近,用于循环输出数组或者对象的属性,用法如下:
1)基本使用——数据源通过模板变量赋值
新建Index控制器,并新建index方法,在方法中获取数据并赋值到模板中
在index.html模板中用foreach循环输出数据
预览:
2)使用函数或者方法获取数据源
使用方法获取数据源
在index.html模板中使用函数或方法获取数据源,为了区分,换一个表查询,但注意此表要创建模型
预览:
使用函数获取数据源
在公共函数文件common.php文件中,新建getData函数,返回数据。
在index.html模板中使用函数获取数据源,并循环输出:
预览:
2. volist标签
volist标签通常用于查询数据集或者二维数组的结果输出。
1)基本使用
在Index控制器中,新建voshow方法,在方法中对模板进行赋值
在index.html模板中进行volist循环展示
预览:
2)函数设定数据集
可以直接使用函数设定数据集,而不需要在控制器中给模板变量赋值传入数据集变量,如:
在index.html模板中使用函数设定数据集:
访问Index控制器的voshow方法,预览:
3)输出部分数据——属性offset和length
支持输出查询结果中的部分数据,例如输出其中的第5~15条记录。
在index.html模板中使用属性offset与length输出部分数据
数据库中数据的ID不是连续的。预览:
注意:
1. offset为偏移量,从第几条数据开始;length输出的数据条数,两者功能类似于SQL语句中的limit。
4)输出偶数记录——属性mod
在index.html中,输出偶数记录:
预览:
mod属性还用于控制一定记录的换行,例如:
在index.html模板中使用mod属性控制换行。
预览:
注意:
1. mod属性为取模,即取余数,在volist中mod是行数(下标)除以mod取余数,行数从0开始。
5)数据源为空输出提示——empty
在Index控制器中新建emshow方法,为index.html模板分配空数据
在index.html模板中,使用empty属性,输出为空提示
预览:
empty属性还支持变量输出:
在Index控制器的emshow方法中赋值给模板变量
在index.html模板中输出
预览:
6)输出循环变量——key
在index.html模板中输出循环变量:
访问voshow方法,预览:
注意:
1. 如果没有指定key属性的话,默认使用循环变量i。
2. 循环变量值从1开始。
如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的。
在index.html模板中,输出数组索引key:
预览:
3. for标签
在Index控制器中,新建forshow方法:
在index.html模板中循环
解析后的代码为:
预览:
测试for循环的其他属性
预览:
ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员
关注卓象程序员,定期发布技术文章
下一篇讲解“模板-内置标签之比较标签”
领取专属 10元无门槛券
私享最新 技术干货