1. 程式人生 > 實用技巧 >Thinkphp中的eq比較標籤

Thinkphp中的eq比較標籤

比較標籤(判斷輸出資料)包括(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. <eqname="name"value="value">value</eq>

或者

  1. <equalname="name"value="value">value</equal>

也可以支援和else標籤混合使用:

  1. <eqname="name"value="value">相等<else/>不相等</eq>

當 name變數的值大於5就輸出

  1. <gtname="name"value="5">value</gt>

當name變數的值不小於5就輸出

  1. <egtname="name"value="5">value</egt>

比較標籤中的變數可以支援物件的屬性或者陣列,甚至可以是系統變數:
舉例說明:
當vo物件的屬性(或者陣列,或者自動判斷)等於5就輸出

  1. <eqname="vo.name"value="5">{$vo.name}</eq>

當vo物件的屬性等於5就輸出

  1. <eqname="vo:name"value="5">{$vo.name}</eq>

當$vo['name']等於5就輸出

  1. <eqname="vo['name']"value="5">{$vo.name}</eq>

而且還可以支援對變數使用函式
當vo物件的屬性值的字串長度等於5就輸出

  1. <eqname="vo:name|strlen"value="5">{$vo.name}</eq>

變數名可以支援系統變數的方式,例如:

  1. <eqname="Think.get.name"value="value">相等<else/>不相等</eq>

通常比較標籤的值是一個字串或者數字,如果需要使用變數,只需要在前面新增“$”標誌:
當vo物件的屬性等於$a就輸出

  1. <eqname="vo:name"value="$a">{$vo.name}</eq>

所有的比較標籤可以統一使用compare標籤(其實所有的比較標籤都是compare標籤的別名),例如:
當name變數的值等於5就輸出

  1. <comparename="name"value="5"type="eq">value</compare>

等效於

  1. <eqname="name"value="5">value</eq>

其中type屬性的值就是上面列出的比較標籤名稱