Thinkphp6循环的两种方式——volist和foreach标签
thinkphp6中有两个可以实现数组循环的标签(volist标签和foreach标签)。
第一种:volist标签
语法:
{volist name="" id="" key="" offset="" length=""}循环体{/volist}
其中:
- name:当前模板的变量名称;
- id:当前的循环变量;
- key:下标,默认从1开始;
- offset:开始的行数;
- length:获取的行数。
实例:
定义数组:
namespace app\controller;use think\facade\View;class Test{public function index(){$arr=[['id'=>1,'name'=>'cmcc'],['id'=>2,'name'=>'cctv'],['id'=>1,'name'=>'cmqq']];view::assign('arr',$arr);return view::fetch();}}
在模板中遍历:
{volist name="arr" id="vv" key="kk" offset="1" length="1"}<div>{$kk} --- {$vv['name']}</div>{/volist}
输出结果:

我们设置从1开始截,截取一个,所以输出结果为cctv。
第二种:foreach标签
语法:
{foreach $name as $key=>$id}循环体{/foreach}
其中:
- name:当前模板的变量名称;
- id:当前的循环变量;
- key:下标,默认从0开始。
实例:
foreach的定义数组与volist的相同,这里就不再写了,我们直接看在模板中遍历。
{foreach $arr as $k=>$v}<div>{$k} --- {$v['name']}</div>{/foreach}
输出结果为:

我们可以看到foreach标签在循环的时候需要加上$(美元符号),而volist标签再循环的时候不需要加上$(美元符号)。
THE END




