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



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 标签来满足需求。
    ThinkPHP 模板循环输出 Volist 标签
    Volist标签嵌套循环输出多维数组
    ThinkPHP模板循环输出Foreach标签
    ThinkPHP 模板判断输出 Switch 标签
    ThinkPHP模板判断输出比较标签
    ThinkPHP模板判断输出Present标签
    ThinkPHP 模板判断输出 Defined 标签
    ThinkPHP模板判断输出Empty标签
    模板范围判断输出In标签与Range标签
    ThinkPHP模板判断输出If...Else标签

zgguan.com(it学习网) — 提供最好的 XHTML教程DIV+CSS教程JavaScript教程PHP教程ThinkPHP教程