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 相关文章推荐
C# Assembly类访问程序集信息
Jun 13 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
php+xml实现在线英文词典之添加词条的方法
Jan 23 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
Apr 15 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
使用PHP生成图片的缩略图的方法
Aug 18 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
header与缓冲区之间的深层次分析
Jul 30 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 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过滤危险html代码的函数
2008/07/22 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
可兼容php5与php7的cURL文件上传功能实例分析
2018/05/11 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
2019/06/22 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python爬虫中urllib库的进阶学习
2018/01/05 Python
python实现图书管理系统
2018/03/12 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
Python中存取文件的4种不同操作
2018/07/02 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
CSS3实现时间轴特效
2020/11/02 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
中海讯通笔试题
2015/09/15 面试题
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
教育技术学专业职业规划书
2014/03/03 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
工作作风承诺书
2014/08/30 职场文书
高中军训的心得体会
2014/09/01 职场文书
2016年母亲节寄语
2015/12/04 职场文书