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 相关文章推荐
一个php作的文本留言本的例子(一)
Oct 09 PHP
?繁体转换的class
Oct 09 PHP
PHPMailer 中文使用说明小结
Jan 22 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
May 15 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 PHP
php图片添加文字水印实现代码
Mar 15 PHP
PHP常用字符串函数小结(推荐)
Aug 05 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 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 debug 安装技巧
2011/04/30 PHP
php猜单词游戏
2015/09/29 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
PHP框架性能测试报告
2016/05/08 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
详解python-图像处理(映射变换)
2019/03/22 Python
Python Flask框架模板操作实例分析
2019/05/03 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
关于Java finally的面试题
2016/04/27 面试题
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
美德好少年主要事迹
2014/01/29 职场文书
借名购房协议书范本
2014/10/06 职场文书
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
关于学习的决心书
2015/02/05 职场文书
初中团支书竞选稿
2015/11/21 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
JavaScript文档对象模型DOM
2021/11/20 Javascript