Switch标签
用法:
<switch name="变量">
<case value="值1" break="0或1">输出内容1</case>
<case value="值2">输出内容2</case>
<default/> 默认情况
</switch>
eg:
<foreach name = "user" item="vo">
{$vo.id} : {$vo.username}
<switch name = "vo.status">
<case value = "1">超级管理员</case>
<case value = "2">管理员</case>
<default/>普通职员
</switch>
</br>
</foreach>
注意:switch 的name属性值为变量名称时,是没有$符号,而value值使用变量时需要带$符号,对于case的value属性可以支持多个条件的判断,使用"|"进行分割,eg:
<switch name = "Think.get.type">
<case value="gif|png|jpg">图像格式</case>
<default/>其他格式
</switch>
case标签还有各异break属性,表示是否需要break,默认是会自动添加break,如果不要break,可以使用 <case value = "2" break = "0">admin</case>
也可以对case的value属性使用变量,eg:
<switch name = "User.userid">
<case value = "$adminId">admin</case>
<case value = "$memberId">member</case>
<default/>default
</switch>
比较标签
比较标签用于简单的变量比较,复杂的判断条件可以用if标签替换,比较标签是一组标签的集合,基本上用法都一致,eg:
<比较标签 name = "变量" value = "值">
内容
</比较标签>
系统支持的比较标签以及所表示的含义分别是:
标签 | 含义 |
eq或者equal | 等于 |
neq或者notequal | 不等于 |
gt | 大于 |
egt | 大于等于 |
lt | 小于 |
elt | 小于等于 |
heq | 恒等于 |
nheq | 不恒等于 |
用法基本是一致的,区别在于判断的条件不同,并且所有的比较标签都可以和eles标签一起使用。
<eq name="name" value="value">
相等
<else/>
不相等
</eq>
所有的比较标签可以统一使用compare标签(其实所有的比较标签都是compare标签的别名),例如:
<compare name="name" value="5" type="eq">value</compare>
==>
<eq name="name" value="5">value</eq>
注意:name属性值为变量名称时,是没有$符号,而value值使用变量时需要带$符号