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值使用变量时需要带$符号