首页 >php框架 >ThinkPHP >ThinkPHP中循环遍历的两种方法(volist和foreach标签)

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

藏色散人
藏色散人转载
2020-01-22 14:12:455367浏览

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

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

volist语法格式:

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

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

foreach语法格式:

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

注意:

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

区别:

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

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

案例一:

一维数组的遍历

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

输出展示: 

0dc0f83a8180c65f43f3208f52f0cf4.png

案例二:

二维数组的遍历

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

输出展示:

7c3a99e5bbc4a1dd2372b51cfc2aa6b.png

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

以上是ThinkPHP中循环遍历的两种方法(volist和foreach标签)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:csdn.net。如有侵权,请联系admin@php.cn删除