thinkphp 内置标签--循环

循环标签

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循环的其他属性

 

预览:

 

posted on 2019-07-02 16:55  mmzz3322  阅读(1053)  评论(0编辑  收藏  举报

导航