ThinkPHP 5 中的模板中内置了 if 标签用来进行条件判断,以下是 if 标签的使用方法:
IF标签
用法示例:
{if condition="($name == 1) OR ($name > 100) "} value1
{elseif condition="$name eq 2"/}value2
{else /} value3
{/if}
除此之外,我们可以在 condition 属性里面使用 php 代码,例如:
{if condition="strtoupper($user['site']) neq 'www.02405.com'"}ThinkPHP
{else /} other Framework
{/if}
condition 属性可以支持点语法和对象语法,例如: 自动判断 user 变量是数组还是对象
{if condition="$user.name neq 'ThinkPHP'"}ThinkPHP
{else /} other Framework
{/if}
或者知道 user 变量是对象
{if condition="$user:name neq 'ThinkPHP'"}ThinkPHP
{else /} other Framework
{/if}
由于 if 标签的 condition 属性里面基本上使用的是 php 语法,尽可能使用判断标签和 switch标签 会更加简洁,原则上来说,能够用 switch 和比较标签解决的尽量不用 if 标签完成。因为 switch 和比较标签可以使用变量调节器和系统变量。如果某些特殊的要求下面,if标签 仍然无法满足要求的话,可以使用原生 php 代码或者 php 标签来直接书写代码。
简洁的用法
{if condition="表达式"}
{if (表达式)}
{if 表达式}
这三种写法结果是一样的