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. ThinkPHP 模板循环输出 Volist 标签
- 2. ThinkPHP 模板 Volist 标签嵌套循环输出多维数组
- 3. ThinkPHP 模板循环输出 Foreach 标签
- 4. ThinkPHP 模板判断输出 Switch 标签
- 5. ThinkPHP 模板判断输出 比较标签
- 6. ThinkPHP 模板判断输出 Present 标签
- 7. ThinkPHP 模板判断输出 Defined 标签
- 8. ThinkPHP 模板判断输出 Empty 标签
- 9. ThinkPHP 模板范围判断输出 In 标签与 Range 标签
- 10. ThinkPHP 模板判断输出 If ... Else 标签