上一篇文章讲解“模型-输出替换”,本篇文章讲解“模板-内置标签之循环标签”。循环标签1.foreach标签foreach标签的用法和PHP语法非常接近,用于循环输出数组或者对象的属性,用法如下:
1)基本使用——数据源通过模板变量赋值新建Index控制器,并新建index方法,在方法中获取数据并赋值到模板中
在index.html模板中用foreach循环输出数据
预览:
2)使用函数或者方法获取数据源使用方法获取数据源在index.html模板中使用函数或方法获取数据源,为了区分,换一个表查询,但注意此表要创建模型
预览:
使用函数获取数据源在公共函数文件common.php文件中,新建getData函数,返回数据。
在index.html模板中使用函数获取数据源,并循环输出:
预览:2.volist标签volist标签通常用于查询数据集或者二维数组的结果输出。
1)基本使用在Index控制器中,新建voshow方法,在方法中对模板进行赋值
预览:
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标签
解析后的代码为:预览:测试for循环的其他属性
预览:
ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员关注卓象程序员,定期发布技术文章下一篇讲解“模板-内置标签之比较标签”
领取专属 10元无门槛券
私享最新 技术干货