天天看點

比較标簽 php,比較标簽 · ThinkPHP5.0完全開發手冊 · 看雲

比較标簽用于簡單的變量比較,複雜的判斷條件可以用if标簽替換,比較标簽是一組标簽的集合,基本上用法都一緻,如下:

~~~

{比較标簽 name="變量" value="值"}

内容

{/比較标簽}

~~~

系統支援的比較标簽以及所表示的含義分别是:

| 标簽 | 含義 |

|-----|-----|

| eq或者 equal | 等于 |

| neq 或者notequal | 不等于 |

| gt | 大于 |

| egt | 大于等于 |

| lt | 小于 |

| elt | 小于等于 |

| heq | 恒等于 |

| nheq | 不恒等于 |

他們的用法基本是一緻的,差別在于判斷的條件不同,并且所有的比較标簽都可以和else标簽一起使用。

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

~~~

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

~~~

或者

~~~

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

~~~

也可以支援和else标簽混合使用:

~~~

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

相等

{else/}

不相等

{/eq}

~~~

當 name變量的值大于5就輸出

~~~

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

~~~

當name變量的值不小于5就輸出

~~~

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

~~~

比較标簽中的變量可以支援對象的屬性或者數組,甚至可以是系統變量,例如: 當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就輸出

~~~

{eq name="vo['name']" value="5"}

{$vo.name}

{/eq}

~~~

而且還可以支援對變量使用函數 當vo對象的屬性值的字元串長度等于5就輸出

~~~

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

~~~

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

~~~

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

~~~

通常比較标簽的值是一個字元串或者數字,如果需要使用變量,隻需要在前面添加“$”标志: 當vo對象的屬性等于$a就輸出

~~~

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

~~~

所有的比較标簽可以統一使用compare标簽(其實所有的比較标簽都是compare标簽的别名),例如: 當name變量的值等于5就輸出

~~~

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

~~~

等效于

~~~

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

~~~

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