不经过悉心栽培,花儿开不出鲜艳的花朵;不经过时间的历练,幼苗长不成参天大树。

Thinkphp中比较标签的用法(eq,equa等)

php 建伟 2108℃ 0评论

其实这些标签在TP官方手册中已经有了明确的说明介绍,我这里就简单说明举例一下。

比较标签(判断输出数据)包括(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属性的值就是上面列出的比较标签名称

转载请注明:Li Jianwei's Blog » Thinkphp中比较标签的用法(eq,equa等)

喜欢 (2)or分享 (0)
web技术交流群
22765697