Thinkphp中的内置标签用法
Thinkphp中的内置标签有:Volist,Foreach,For,Switch,比较标签,范围判断标签,IF,Present,Empty,Defined,Assign,Define,标签嵌套,import标签
1.Volist标签
volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。在控制器中首先对模板赋值:
$User=M("User");
$list=$User->limit(10)->select();
$this->assign("list",$list);
在模板定义如下,循环输出用户的编号和姓名:(也可以输出部门数据,例如输出其中的5~15条记录)
<volist name="list" id="vo" offset="5" length="10" empty="无数据">
{$vo.id}:{$vo.name}
<volist>
2.Foreach标签
foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,例如:{$vo.id}:{$vo.name}
name标识数据源item表示循环变量。
可以输出索引,如下:
<foreach name="list" item="vo">
{$key}|{$vo}
</foreach>
也可以定义索引的变量名
<foreach name="list" item="vo" key="k">
{$k}|{$vo}
</foreach>
3.For标签
用法:
<for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名"></for>
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其它可选。comparison的默认值是lt;name的默认值是i,步进值的默认值是1,举例如下:
<for start="1" end="100">{$i}</for>
解析后的代码是
for($i=1;$i<100;$i+=1){
echo $i;
}
4.Switch标签
用法:
<switch name="变量"> <case value="值1" break="0或1">输入内容1</case> <case value="值2">输出内容2</case> <default/>默认情况 </switch>
使用方法如下:
<switch name="User.level"> <case value="1">value1</case> <case value="2">value2</case> <default/>default </switch>
其中name属性可以使用函数以及系统变量,例如:
<switch name="Think.get.userId|abs"> <case value="1">admin</case> <default/>default </switch>
对于case的value属性可以支持多个条件的判断,使用“|”进行分割,例如:
<switch name="Think.get.type"> <case value="gif|png|jpg">图像格式</case> <default/>其它格式 </switch>
Case标签还有一个break属性,表示是否需要break,默认是会自动添加break,如果不要break,可以使用:
<switch name="Think.get.userId|abs"> <case value="1" break="0" >admin</case> <case value="2">admin</case> <default/>default </switch>
也可以对case的value属性使用变量,例如:
<switch name="User.userId"> <case value="$adminId">admin</case> <case value="$memberId">member</case> <default/>default </switch>
5.比较标签
比较表浅用于简单的变量比较,复杂的判断条件可以用if标签替换,比较标签是一组标签的集合,基本上用法都一致,如下:
<比较标签 name="变量" value="值">
内容
</比较标签>
系统支持的比较标签以及所表示的含义分别是:
- eq或equal:等于
- neq或notequal:不等于
- gt:大于
- egt:大于等于
- lt:小于
- elt:小于等于
- heq:恒等于
- nheq:不恒等于
他们的用法基本一致,区别在于判断的条件不同,并且所有的比较标签都可以和else标签一起使用。
<eq name="name" value="value">
相等
<else/>
不相等
</eq>
当name变量的值大于5就输出
<gt name="name" value="5">value</gt>
当name变量的值不小于5就输出
<egt name="name" value="5">value</egt>
6.范围判断标签
范围判断标签包括 in notin between notbetween 四个标签,都用于判断变量是否在否个范围。
Thinkphp中的内置标签用法的更多相关文章
- ThinkPHP中的内置标签
ThinkPHP中的内置标签 1.内置标签分类 闭合标签 <tag></tag> 开放标签 <tag /> 2.包含文件标签 主要功能:实现对文件的包含(类似于re ...
- ThinkPHP 模版中的内置标签
内置标签就是模版引擎提供的一组可以完成控制.循环和判断功能的类似HTML语法的标签. 一.判断比较: 1.if标签进行条件判断 //if语句的完整格式 <if condition=&qu ...
- thinkphp中的内置操作数据库与mysql中的函数汇总
8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...
- python中常用内置函数用法总结
强制类型转换:int()float()str()list()tuple()set()dict()总结,这几种类型转换函数得用法基本一致,基本就是int(要转换得数据).返回值类型为对应得数据类型 ...
- thinkphp 内置标签volist 控制换行
thinkphp 内置标签volist 控制换行 volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行 ...
- django中模板变量与内置标签以及过滤器
本文参考 官方文档 . 一 模板变量 格式: {{ variable_name }} variable_name 命名规则与变量命名规则类似,允许字符数字下划线,不允许标点. variable_ ...
- thinkphp内置标签简单讲解
thinkphp内置标签简单讲解 1.volist循环 name 需要遍历的数据 id 类似于foreach中 value offset 截取数据起始位置 length 截取数据的个数 mod 奇偶数 ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- thinkphp5内置标签
thinkphp5内置标签 知道内置标签怎么用,查手册的时候好查 却功能的时候在里面找着来用 内置标签一览 内置标签 变量输出使用普通标签就足够了,但是要完成其他的控制.循环和判断功能,就需要借助模板 ...
随机推荐
- ST-2
1.第一个程序没有覆盖到下表为0的数.第二个程序找到的是x中第一个等于0的数的下标. 2.对于第一个程序:x = [2,3,5], y = 3 对于第二个程序:X = [2,0,6] 3.对于两个程序 ...
- PHP获得上(两)周时间
就不手写了
- hdu1198 Farm Irrigation 并查集
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1198 简单并查集 分别合并竖直方向和水平方向即可 代码: #include<iostream&g ...
- Linux安装yum以及更新yum版本
.使用RedHat系统不能正常使用yum安装 由于RedHat没有注册,所有不能使用它自身的资源更新,于是使用yum instatll gcc-c++的时候出现This system is not r ...
- [刷题]算法竞赛入门经典(第2版) 6-1/UVa673 6-2/UVa712 6-3/UVa536
这三题比较简单,只放代码了. 题目:6-1 UVa673 - Parentheses Balance //UVa673 - Parentheses Balance //Accepted 0.000s ...
- js算法集合(一) 水仙花数 及拓展(自幂数的判断)
js算法集合(一) ★ 最近有些朋友跟我说对js中的一些算法感到很迷惑,知道这个算法到底是怎么回事,但是就是不会用代码把它写出来,这里我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法, ...
- Java7中的ForkJoin并发框架初探(下)—— ForkJoin的应用
前两篇文章已经对Fork Join的设计和JDK中源码的简要分析.这篇文章,我们来简单地看看我们在开发中怎么对JDK提供的工具类进行应用,以提高我们的需求处理效率. Fork Join这东西确实用好了 ...
- java泛型探索——泛型类
本文主要讨论一下如何声明泛型类,讨论的范围涉及构造函数.静态成员.内部类. 构造函数 泛型的类型参数首先声明在首部: public class Pair<T,U> { private fi ...
- jt格式文件与网格压缩
jt格式文件与网格压缩 介绍 jt是一种3D数据格式,主要用于工业,产品可视化,数据交换,并且西门子在2012推动jt成为ISO国际标准.在文件尺寸方面,采用了不少专门的压缩方法,比较轻量化. jt文 ...
- SpringMVC中的java.lang.ClassNotFoundException: org.aspectj.weaver.BCException 调试过程记录
报错原因 上文本描述 java.lang.NoClassDefFoundError: org/aspectj/weaver/BCException at java.lang.Class.getDecl ...