腾讯云618限量抢购
  1. PHP基础教程
  2. PHP+MySQL数据库教程

ThinkPHP 模板判断输出 If ... Else 标签

最后更新:2011-01-27 15:30阅读:93366

ThinkPHP 模板 if ... else 标签用于进行复杂的条件判断。

if ... else 标签

if ... else 标签用于进行复杂的条件判断,格式如下:

<if condition="expr1">输出的内容1
<elseif condition="expr2" />输出的内容2
<else />输出的内容3
</if>

expr1可以是单个表达式或多个表达式的组合,如:

<if condition="(expr1) OR (expr2)">

例子:

<if condition="($vo['uid'] eq 1) OR ($vo['username'] eq 'admin') ">管理员
<elseif condition="$vo['uid'] gt 1" />群众
<else />游客
</if>

同数据库操作中的表达式一样,条件判断中的表达式不能使用普通的如 ==、>、< 等 PHP比较运算符 中的判断符号,而需要 ThinkPHP 特定的比较标签:

比较标签 说明
eq 等于(==)
neq 不等于(!=)
gt 大于(>)
egt 大于等于(>=)
lt 小于(<)
elt 小于等于(<=)
heq 恒等于(===)
nheq 不恒等于(!==)

condition 条件

condition 条件支持对数组、对象的判断以及自动判断数组或对象:

// 数组形式
<if condition="$vo['uid'] eq 1">
// 对象形式
<if condition="$vo:uid eq 1">
// 自动判断
<if condition="$vo.uid eq 1">

condition 属性里面还支持直接使用php代码,例如:

<if condition="strtoupper($vo['username']) eq 'ADMIN' ">管理员
<else />群众
</if>
注意

condition 属性值中,变量是需要 $ 符号的,这与其他标签不同。

提示
  • 在判断输出系列标签中,应尽可能使用更为简洁的比较标签switch 标签等判断标签。
  • 如果 ThinkPHP 提供的各判断标签仍不能满足特殊的需求,可以直接使用原生 PHP 代码或者 PHP 标签来满足需求。

本章节内容共分 10 部分:
  1. 1. ThinkPHP 模板循环输出 Volist 标签
  2. 2. ThinkPHP 模板 Volist 标签嵌套循环输出多维数组
  3. 3. ThinkPHP 模板循环输出 Foreach 标签
  4. 4. ThinkPHP 模板判断输出 Switch 标签
  5. 5. ThinkPHP 模板判断输出 比较标签
  6. 6. ThinkPHP 模板判断输出 Present 标签
  7. 7. ThinkPHP 模板判断输出 Defined 标签
  8. 8. ThinkPHP 模板判断输出 Empty 标签
  9. 9. ThinkPHP 模板范围判断输出 In 标签与 Range 标签
  10. 10. ThinkPHP 模板判断输出 If ... Else 标签
腾讯云618限量抢购