比較標簽
比較標(biao)(biao)簽(qian)用于簡單的(de)變量(liang)比較,復雜(za)的(de)判斷條件可以用if標(biao)(biao)簽(qian)替(ti)換,比較標(biao)(biao)簽(qian)是(shi)一(yi)組標(biao)(biao)簽(qian)的(de)集(ji)合,基本(ben)上用法都一(yi)致,如下:
{比較標簽 name="變量" value="值"}
內容
{/比較標簽}
系統支持的比較(jiao)標簽以及所表示的含義分別是(shi):
| 標簽 | 含義 |
|---|---|
| eq或者 equal | 等于 |
| neq 或者notequal | 不等于 |
| gt | 大于 |
| egt | 大于等于 |
| lt | 小于 |
| elt | 小于等于 |
| heq | 恒等于 |
| nheq | 不恒等于 |
他們的用(yong)(yong)法基本是一致的,區別在于判斷的條件不同,并(bing)且(qie)所有的比較(jiao)標簽都(dou)可(ke)以和else標簽一起(qi)使用(yong)(yong)。
例如,要(yao)求name變量的值等于value就輸出,可以使用(yong):
{eq name="name" value="value"}value{/eq}
或者
{equal name="name" value="value"}value{/equal}
也可(ke)以支持(chi)和(he)else標簽(qian)混合使用(yong):
{eq name="name" value="value"}
相等
{else/}
不(bu)相(xiang)等
{/eq}
當(dang) name變量的(de)值(zhi)大于(yu)5就(jiu)輸出(chu)
{gt name="name" value="5"}value{/gt}
當name變量(liang)的(de)值不小(xiao)于5就(jiu)輸(shu)出
{egt name="name" value="5"}value{/egt}
比較標簽(qian)中的變量可以支持對(dui)象(xiang)(xiang)的屬性(xing)或(huo)者(zhe)數(shu)組,甚(shen)至可以是系統變量,例(li)如: 當vo對(dui)象(xiang)(xiang)的屬性(xing)(或(huo)者(zhe)數(shu)組,或(huo)者(zhe)自動判斷(duan))等于(yu)5就輸出
{eq name="vo.name" value="5"}
{$vo.name}
{/eq}
當vo對象的屬性等于5就輸出
{eq name="vo:name" value="5"}
{$vo.name}
{/eq}
當$vo['name']等于(yu)5就輸出
{eq name="vo['name']" value="5"}
{$vo.name}
{/eq}
而且還可以支(zhi)持對(dui)變(bian)量使用函數 當vo對(dui)象的(de)屬性值的(de)字(zi)符串(chuan)長度等于5就輸出(chu)
{eq name="vo:name|strlen" value="5"}{$vo.name}{/eq}
變量名可以(yi)支持系統變量的方式,例如:
{eq name="Think.get.name" value="value"}相等(deng){else/}不相等{/eq}
通常比較標(biao)簽的值是一個字(zi)(zi)符串(chuan)或者數字(zi)(zi),如果需要(yao)使用變量,只需要(yao)在前面添加“$”標(biao)志: 當vo對(dui)象的屬性等于$a就輸(shu)出
{eq name="vo:name" value="$a"}{$vo.name}{/eq}
所有(you)的(de)比較(jiao)標(biao)簽(qian)可以統一使用compare標(biao)簽(qian)(其實(shi)所有(you)的(de)比較(jiao)標(biao)簽(qian)都(dou)是(shi)compare標(biao)簽(qian)的(de)別名),例如: 當name變(bian)量的(de)值等(deng)于(yu)5就輸出
{compare name="name" value="5" type="eq"}value{/compare}
等效于
{eq name="name" value="5" }value{/eq}
其中type屬(shu)性的(de)值就是上(shang)面列出的(de)比較標簽名稱
