thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间)

一、总结

1、标签和原生php之间的关系标签只是为了方便你使用,标签能做到的功能原生php一定能做到,因为标签就是用原生php写的

二、thinkphp中view页面中的volist标签转化为原生php分析

view中的volist标签

{volist name="dataout" id="vo"}
{/volist}

转化为原生php后的代码

<?php if(is_array($dataout) || $dataout instanceof \think\Collection || $dataout instanceof \think\Paginator): $i = 0; $__LIST__ = $dataout;if( count($__LIST__)==0 ) : echo "" ;else: foreach($__LIST__ as $key=>$vo): $mod = ($i % 2 );++$i;?>
<?php endforeach; endif; else: echo "" ;endif; ?>

1、if(is_array($dataout) || $dataout instanceof \think\Collection || $dataout instanceof \think\Paginator): 这部分判断从控制器传过来的数据是不是数组,或者Collection或者Paginator的实例,因为volist的参数可以是这三种

2、$i = 0; $__LIST__ = $dataout; i赋初值并且将页面传过来的数据赋值给 $__LIST__  ,所以从这里可以发现页面传过来的数据可以直接$dataout; 的方式用

3、if( count($__LIST__)==0 ) : echo "" ; 判断数据是否为空,为空则输出空

4、foreach($__LIST__ as $key=>$vo): foreach遍历数组啊

5、$mod = ($i % 2 );++$i; 生成mod参数,也就是volist中的歌mod参数,代表奇偶数的那个变量

6、endforeach; endif; 因为我们把循环和判断分开来写了,所以你没法用}来判断块结束,所以就 用endforeach来结束foreach,用endif来结束if

三、volist标签的几个参数

name 需要遍历的数据

id 类似于foreach中 value

offset 截取数据起始位置

length 截取数据的个数

mod 奇偶数

empty 数据为空的使用

key 编号

在volist中有些参数没有用,如果你用了就会转化为对应的php

标签只是为了方便你使用,标签能做到的功能原生php一定能做到,因为标签就是用原生php写的

最新文章

  1. js 模块化的一些理解和es6模块化学习
  2. erlang文章博客推荐
  3. C/C++ 常用工具集
  4. contesthunter CH Round #64 - MFOI杯水题欢乐赛day1 solve
  5. ibatis 存储过程写法
  6. 关于asp.net简单的下载问题
  7. Letter of inquiry about employment possibilities, e-mail version
  8. A - A
  9. 【Backbone】 Backbone初探
  10. List集合对象中的排序,随机显示
  11. MVC3+EF4.1学习系列(四)----- ORM关系的处理
  12. java命令行执行带依赖jar包的main函数
  13. Python模块 - configparser
  14. luogu2046[NOI2010]海拔 对偶图优化
  15. MYSQL数据模型
  16. C# ms speech文字转语音例子
  17. spring cloud 学习(3) - feign入门
  18. Python3基础 if else 格式 输入一个整数并判断是8吗
  19. Javascript的执行过程详细研究
  20. Java - USC2字符串截取

热门文章

  1. 错误日志写入到本地磁盘(lock 队列)
  2. storm排错
  3. echo---打印变量或输出字符串
  4. pwconv---pwunconv 密码投影
  5. area热点区域
  6. JavaScript学习总结(9)——JS常用函数(一)
  7. BestCoder Round #65 HDOJ5592 ZYB&amp;#39;s Premutation(树状数组+二分)
  8. [LuoguP4892]GodFly的寻宝之旅 状压DP
  9. 利用日志使管理Linux更轻松
  10. c#中文字符串与byte数组互相转化