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