比較標(biāo)簽用于簡(jiǎn)單的變量比較,復(fù)雜的判斷條件可以用if標(biāo)簽替換,比較標(biāo)簽是一組標(biāo)簽的集合,基本上用法都一致,如下:
{比較標(biāo)簽 name="變量" value="值"}
     內(nèi)容
 {/比較標(biāo)簽} 
系統(tǒng)支持的比較標(biāo)簽以及所表示的含義分別是:
標(biāo)簽
含義
eq或者 equal
等于
neq 或者notequal
不等于
gt
大于
egt
大于等于
lt 小于
elt
小于等于
heq
恒等于
nheq
不恒等于

他們的用法基本是一致的,區(qū)別在于判斷的條件不同,并且所有的比較標(biāo)簽都可以和else標(biāo)簽一起使用。

例如,要求name變量的值等于value就輸出,可以使用:

{eq name="name" value="value"}value{/eq} 

或者

{equal name="name" value="value"}value{/equal} 

也可以支持和else標(biāo)簽混合使用:

{eq name="name" value="value"} 
  相等 
{else/} 
  不相等 
{/eq} 

當(dāng) name變量的值大于5就輸出

{gt name="name" value="5"}value{/gt} 

當(dāng)name變量的值不小于5就輸出

{egt name="name" value="5"}value{/egt} 

比較標(biāo)簽中的變量可以支持對(duì)象的屬性或者數(shù)組,甚至可以是系統(tǒng)變量,例如: 當(dāng)vo對(duì)象的屬性(或者數(shù)組,或者自動(dòng)判斷)等于5就輸出

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

當(dāng)vo對(duì)象的屬性等于5就輸出

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

當(dāng)$vo['name']等于5就輸出

{eq name="vo['name']" value="5"} 
  {$vo.name} 
{/eq}
?
而且還可以支持對(duì)變量使用函數(shù) 當(dāng)vo對(duì)象的屬性值的字符串長(zhǎng)度等于5就輸出

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

變量名可以支持系統(tǒng)變量的方式,例如:

{eq name="Think.get.name" value="value"}
  相等
{else/}
  不相等
{/eq} 

通常比較標(biāo)簽的值是一個(gè)字符串或者數(shù)字,如果需要使用變量,只需要在前面添加“$”標(biāo)志: 當(dāng)vo對(duì)象的屬性等于$a就輸出

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

所有的比較標(biāo)簽可以統(tǒng)一使用compare標(biāo)簽(其實(shí)所有的比較標(biāo)簽都是compare標(biāo)簽的別名),例如: 當(dāng)name變量的值等于5就輸出

{compare name="name" value="5" type="eq"}value{/compare} 

等效于

{eq name="name" value="5" }value{/eq} 

其中type屬性的值就是上面列出的比較標(biāo)簽名稱(chēng)