比较标签用于简单的变量比较 复杂的判断条件可以用if标签替换 比较标签是一组标签的集合 基本上用法都一致 如下:
{比较标签 name="变量" value="值"}
内容
{/比较标签}
系统支持的比较标签以及所表示的含义分别是:
标签 | 含义 |
---|---|
eq或 equal | 等于 |
neq 或notequal | 不等于 |
gt | 大于 |
egt | 大于等于 |
lt | 小于 |
elt | 小于等于 |
heq | 恒等于 |
nheq | 不恒等于 |
们的用法基本是一致的 区别在于判断的条件不同 并且所有的比较标签都可以和else标签一起使用。
例如 要求name变量的值等于value就输出 可以使用:
{eq name="name" value="value"}value{/eq}
或
{equal name="name" value="value"}value{/equal}
也可以支持和else标签混合使用:
{eq name="name" value="value"}
相等
{else/}
不相等
{/eq}
当 name变量的值大于5就输出
{gt name="name" value="5"}value{/gt}
当name变量的值不小于5就输出
{egt name="name" value="5"}value{/egt}
比较标签中的变量可以支持对象的属性或数组 甚至可以是系统变量 例如: 当vo对象的属性(或数组 或自动判断)等于5就输出
{eq name="vo.name" value="5"}
{$vo.name}
{/eq}
当vo对象的属性等于5就输出
{eq name="vo:name" value="5"}
{$vo.name}
{/eq}
当$vo['name']等于5就输出
{eq name="vo['name']" value="5"}
{$vo.name}
{/eq}
而且还可以支持对变量使用函数 当vo对象的属性值的字符串长度等于5就输出
{eq name="vo:name|strlen" value="5"}{$vo.name}{/eq}
变量名可以支持系统变量的方式 例如:
{eq name="Think.get.name" value="value"}相等{else/}不相等{/eq}
通常比较标签的值是个字符串或数字 如果需要使用变量 只需要在前面添加“$”标志: 当vo对象的属性等于$a就输出
{eq name="vo:name" value="$a"}{$vo.name}{/eq}
所有的比较标签可以统一使用compare标签(其实所有的比较标签都是compare标签的别名) 例如: 当name变量的值等于5就输出
{compare name="name" value="5" type="eq"}value{/compare}
等效于
{eq name="name" value="5" }value{/eq}
其中type属性的值就是上面列出的比较标签名称
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题