ThinkPHP-模板指南-比较标签

来自站长百科
跳转至: 导航、​ 搜索

导航:返回上一页

模板引擎提供了丰富的判断标签,比较标签的用法是:<比较标签 name="变量" value="值">内容</比较标签>

系统支持的比较标签以及所表示的含义分别是:

  • eq或者 equal:等于
  • neq 或者notequal:不等于
  • gt:大于
  • egt:大于等于
  • lt:小于
  • elt:小于等于
  • heq:恒等于
  • nheq:不恒等于

他们的用法基本是一致的,区别在于判断的条件不同。例如,要求name变量的值等于value就输出,可以使用:

XML/HTML代码

<eq name="name" value="value">value</eq>   

或者

XML/HTML代码

<equal name="name" value="value">value</equal>   

也可以支持和else标签混合使用:

XML/HTML代码

<eq name="name" value="value">相等<else/>不相等</eq>   

当 name变量的值大于5就输出

XML/HTML代码

<gt name="name" value="5">value</gt>   

当name变量的值不小于5就输出

XML/HTML代码

<egt name="name" value="5">value</egt>   

比较标签中的变量可以支持对象的属性或者数组,甚至可以是系统变量:举例说明:当vo对象的属性(或者数组,或者自动判断)等于5就输出

XML/HTML代码

<eq name="vo.name" value="5">{$vo.name}</eq>   

当vo对象的属性等于5就输出

XML/HTML代码

<eq name="vo:name" value="5">{$vo.name}</eq>   

当$vo['name']等于5就输出

XML/HTML代码

<eq name="vo['name']" value="5">{$vo.name}</eq>   

而且还可以支持对变量使用函数.当vo对象的属性值的字符串长度等于5就输出

XML/HTML代码

<eq name="vo:name|strlen" value="5">{$vo.name}</eq>   

变量名可以支持系统变量的方式.

例如:XML/HTML代码

<eq name="Think.get.name" value="value">相等<else/>不相等</eq>   

通常比较标签的值是一个字符串或者数字,如果需要使用变量,只需要在前面添加“$”标志:当vo对象的属性等于$a就输出

XML/HTML代码

<eq name="vo:name" value="$a">{$vo.name}</eq>   

所有的比较标签可以统一使用compare标签(其实所有的比较标签都是compare标签的别名),例如:当name变量的值等于5就输出

XML/HTML代码

<compare name="name" value="5" type="eq">value</compare>   

等效于 <eq name="name" value="5" >value</eq> 其中type属性的值就是上面列出的比较标签名称.