thinkphp/thinksns学习之eq标签

来源:互联网 发布:零基础学plc编程 编辑:程序博客网 时间:2024/05/16 05:23

最近由于需要,开始学习thinksns开源项目,在学习和开发的过程中,遇到了不甚了解的eq标签。由于thinksns是基于thinkphp框架开发的,于是查找了thinkphp开发手册,了解到eq标签是thinkphp的模板引擎提供了一种比较标签,用于判断输出数据,具体内容摘录如下:

比较标签(判断输出数据)包括(eq,equal,notequal,neq,gt,lt,egt,elt,heq,nheq)闭合非闭合标签属性name(必须):变量名
value(必须):要比较的值,支持变量
用法:

  1. <比较标签 name="变量" value="值">内容</比较标签>
系统支持的比较标签以及所表示的含义分别是:eq或者 equal等于neq 或者notequal不等于gt大于egt大于等于lt小于elt小于等于heq恒等于nheq不恒等于他们的用法基本是一致的,区别在于判断的条件不同。
例如,要求name变量的值等于value就输出,可以使用:
  1. <eq name="name" value="value">value</eq>
或者
  1. <equal name="name" value="value">value</equal>
也可以支持和else标签混合使用:
  1. <eq name="name" value="value">相等<else/>不相等</eq>
当 name变量的值大于5就输出
  1. <gt name="name" value="5">value</gt>
当name变量的值不小于5就输出
  1. <egt name="name" value="5">value</egt>
比较标签中的变量可以支持对象的属性或者数组,甚至可以是系统变量:
举例说明:
当vo对象的属性(或者数组,或者自动判断)等于5就输出
  1. <eq name="vo.name" value="5">{$vo.name}</eq>
当vo对象的属性等于5就输出
  1. <eq name="vo:name" value="5">{$vo.name}</eq>
当$vo['name']等于5就输出
  1. <eq name="vo['name']" value="5">{$vo.name}</eq>
而且还可以支持对变量使用函数
当vo对象的属性值的字符串长度等于5就输出
  1. <eq name="vo:name|strlen" value="5">{$vo.name}</eq>
变量名可以支持系统变量的方式,例如:
  1. <eq name="Think.get.name" value="value">相等<else/>不相等</eq>
通常比较标签的值是一个字符串或者数字,如果需要使用变量,只需要在前面添加“$”标志:
当vo对象的属性等于$a就输出
  1. <eq name="vo:name" value="$a">{$vo.name}</eq>
所有的比较标签可以统一使用compare标签(其实所有的比较标签都是compare标签的别名),例如:
当name变量的值等于5就输出
  1. <compare name="name" value="5" type="eq">value</compare>
等效于
  1. <eq name="name" value="5" >value</eq>
其中type属性的值就是上面列出的比较标签名称

0 0
原创粉丝点击