ThinkPHP模板引擎提供了豐富的比較標簽,其用法格式為:
<比較標簽 name="變量" value="值">內容</比較標簽>
ThinkPHP系統支持的比較標簽及其所表示的含義分別是:
eq或者 equal:等於
neq 或者notequal:不等於
gt:大於
egt:大於等於
lt:小於
elt:小於等於
heq:恆等於
nheq:不恆等於
1.比較標簽的用法基本是一致的,區別在於判斷的條件不同。
如eq標簽:
<eq name="name" value="value">value</eq>
表示name變量的值等於value就輸出。
或者也可寫成:
<equal name="name" value="value">value</equal>
也可以支持和else標簽混合使用,如:
<eq name="name" value="value">相等<else/>不相等</eq>
gt標簽使用如下:
<gt name="name" value="5">value</gt>
表示當 name變量的值大於5就輸出
egt標簽使用如下:
<egt name="name" value="5">value</egt>
表示當name變量的值不小於5就輸出
2.比較標簽中的變量可以支持對象的屬性或者數組,甚至可以是系統變量:
eq標簽示例如下:
<eq name="vo.name" value="5">{$vo.name}</eq>
表示當vo對象的屬性(或者數組,或者自動判斷)等於5就輸出
<eq name="vo:name" value="5">{$vo.name}</eq>
表示當vo對象的屬性等於5就輸出
<eq name="vo['name']" value="5">{$vo.name}</eq>
表示當$vo['name']等於5就輸出
3.還可以支持對變量使用函數
如:
<eq name="vo:name|strlen" value="5">{$vo.name}</eq>
表示當vo對象的屬性值的字符串長度等於5就輸出
4.變量名可以支持系統變量的方式,例如:
<eq name="Think.get.name" value="value">相等<else/>不相等</eq>
5.通常比較標簽的值是一個字符串或者數字,如果需要使用變量,只需要在前面添加“$”標志。
如:
<eq name="vo:name" value="$a">{$vo.name}</eq>
表示當vo對象的屬性等於$a就輸出
6.所有的比較標簽可以統一使用compare標簽(其實所有的比較標簽都是compare標簽的別名),例如:
<compare name="name" value="5" type="eq">value</compare>
表示當name變量的值等於5就輸出
等效於
<eq name="name" value="5" >value</eq>
其中type屬性的值就是上面列出的比較標簽名稱