您的位置:首页 > 技术中心 > php框架 >

ThinkPHP中循环遍历的两种方法(volist和foreach标签)

时间:2020-01-22 14:12

在ThinkPHP中系统提供了两个标签来实现便利操作:volist标签和foreach标签。

volist语法格式:

<volist name='需要遍历的模板变量名' id='当前遍历到的元素名'
循环体
</volist>

注意:volist是双标签语句,需要闭合。

foreach语法格式:

<foreach name='需要遍历的模板变量名' item='当前遍历到的元素名'
循环体
</foreach>

注意:

foreach同样是双标签语句,需要闭合。

区别:

volist语法格式与foreach语法格式形式上大体相同,volist除了上述的name和id属性对之外,还支持更多的属性对,如mod、key、length等等,而foreach标签除了上述的name和item之外只支持key属性对。可以理解成foreach标签是volist标签的一个简化版本。

建议在实际操作时尽量使用volist标签。

案例一:

一维数组的遍历

<?php
...//创建控制器TestController省略
public function test(){
    $array = array('西游记','红楼梦','三国演义','水浒传');
    $array2 = array(
    array('孙悟空','猪八戒','沙和尚','唐僧'),
    array('贾宝玉','薛宝钗','刘姥姥','林黛玉'),
    array('刘备','关羽','张飞','曹操'),
    array('宋江','林冲','鲁智深','时迁')
    ); 
    $this -> assign('array',$array);
   
    $this -> display();
}
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
       <volist name='array' id='vol'>
       {$vol} -
       </volist><hr/>
 
       <foreach name='array' item='for'>
       {$for} - 
       </foreach>
</body>
</html>

输出展示:

0dc0f83a8180c65f43f3208f52f0cf4.png

案例二:

二维数组的遍历

<?php
...创建TestController控制器 
public function test(){
   
    $array = array('西游记','红楼梦','三国演义','水浒传');
    $array2 = array(
    array('孙悟空','猪八戒','沙和尚','唐僧'),
    array('贾宝玉','薛宝钗','刘姥姥','林黛玉'),
    array('刘备','关羽','张飞','曹操'),
    array('宋江','林冲','鲁智深','时迁')
    );
    $this -> assign('array',$array);
    $this -> assign('array2',$array2);
    $this -> display();
    }
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
/*volist循环遍历,嵌套循环*/
    <volist name='array2' id='vol'>
    <volist name='vol' id='vo'>
    {$vo}-
    </volist><br/>
    </volist><hr/>
/*foreach循环遍历,嵌套循环*/
<foreach name='array2' item='for'>
<foreach name='for' item='fo'>
                {$fo}-
</foreach><br/>
</foreach>
</body>
</html>

输出展示:

7c3a99e5bbc4a1dd2372b51cfc2aa6b.png

更多相关ThinkPHP知识,请访问ThinkPHP教程!

以上就是ThinkPHP中循环遍历的两种方法(volist和foreach标签)的详细内容,更多请关注gxlsystem.com其它相关文章!

热门排行

今日推荐

热门手游