ThinkPHP的IF标签可以用来定义复杂的条件判断,例如:
1
2
3
4
|
<</code>if condition="($name eq 1) OR ($name gt 100) "> value1
<</code>elseif condition="$name eq 2" />value2
<</code>else /> value3
</</code>if>
|
注意:在condition属性中可以支持eq等判断表达式 ,同上面的比较标签,但是不支持带有”>”、”<”等符号的用法,因为会混淆模板解析,所以下面的用法是错误的:
1
2
3
|
<</code>if condition="$id < 5 "> value1
<</code>else /> value2
</</code>if>
|
必须改成:
1
2
3
|
<</code>if condition="$id lt 5 "> value1
<</code>else /> value2
</</code>if>
|
除此之外,我们可以在condition属性里面使用php代码,例如:
1
2
3
|
<</code>if condition="strtoupper($user['name']) neq 'THINKPHP' "> ThinkPHP
<</code>else /> other Framework
</</code>if>
|
condition属性可以支持点语法和对象语法,例如自动判断user变量是数组还是对象:
1
2
3
|
<</code>if condition="$user.name neq 'ThinkPHP' "> ThinkPHP
<</code>else /> other Framework
</</code>if>
|
或者知道user变量是对象
1
2
3
|
<</code>if condition="$user:name neq 'ThinkPHP' "> ThinkPHP
<</code>else /> other Framework
</</code>if>
|