ThinkPHP模板IF标签用法详解


Posted in PHP onJuly 01, 2014

ThinkPHP的IF标签可以用来定义复杂的条件判断,例如:

<if condition="($name eq 1) OR ($name gt 100) "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>

注意:在condition属性中可以支持eq等判断表达式 ,同上面的比较标签,但是不支持带有”>”、”<”等符号的用法,因为会混淆模板解析,所以下面的用法是错误的:

<if condition="$id < 5 "> value1
<else /> value2
</if>

必须改成:

<if condition="$id lt 5 "> value1
<else /> value2
</if>

除此之外,我们可以在condition属性里面使用php代码,例如:

<if condition="strtoupper($user['name']) neq 'THINKPHP' "> ThinkPHP
<else /> other Framework
</if>

condition属性可以支持点语法和对象语法,例如自动判断user变量是数组还是对象:

<if condition="$user.name neq 'ThinkPHP' "> ThinkPHP
<else /> other Framework
</if>

或者知道user变量是对象

<if condition="$user:name neq 'ThinkPHP' "> ThinkPHP
<else /> other Framework
</if>

注意:由于if标签的condition属性里面基本上使用的是php语法,尽可能使用判断标签和Switch标签会更加简洁,原则上来说,能够用switch和比较标签解决的尽量不用if标签完成。因为switch和比较标签可以使用变量调节器和系统变量。如果某些特殊的要求下面,IF标签仍然无法满足要求的话,可以使用原生php代码或者PHP标签来直接书写代码

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
PHP 字符串分割和比较
Oct 06 PHP
php 随机排序广告的实现代码
May 09 PHP
php学习之 数组声明
Jun 09 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
php导入模块文件分享
Mar 17 PHP
php中smarty区域循环的方法
Jun 11 PHP
PHP微信红包API接口
Dec 05 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
Symfony控制层深入详解
Mar 17 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 #PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
Jul 01 #PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 #PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 #PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 #PHP
ThinkPHP模板判断输出Present标签用法详解
Jun 30 #PHP
ThinkPHP模板比较标签用法详解
Jun 30 #PHP
You might like
PHP 木马攻击防御技巧
2009/06/13 PHP
比较discuz和ecshop的截取字符串函数php版
2012/09/03 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
python实现的防DDoS脚本
2011/02/08 Python
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
Python随机数函数代码实例解析
2020/02/09 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
共产党员承诺书
2014/03/25 职场文书
乡镇党的群众路线对照检查材料
2014/09/24 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
雷锋的观后感
2015/06/10 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
Python中的pprint模块
2021/11/27 Python