企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
> ## SWITCH标签 ``` // 用法 {switch name="变量" } {case value="值1" break="0或1"}输出内容1{/case} // break为0表示不跳出判断,默认值为1 {case value="值2"}输出内容2{/case} {default /}默认情况 {/switch} // 使用系统函数和系统变量 {switch name="Think.get.userId|abs"} {case value="1"}admin{/case} {default /}default {/switch} // 判断多个条件 {switch name="Think.get.type"} {case value="gif|png|jpg"}图像格式{/case} {default /}其他格式 {/switch} // 可以在case的value属性中使用变量,但是使用变量后就不能同时判断多个条件了 {switch $User.userId} {case $adminId}admin{/case} {case $memberId}member{/case} {/switch} // 简化写法 {switch $User.userId} {case $adminId}admin{/case} {case $memberId}member{/case} {/switch} ``` > ## IF标签 ``` // 用法 {if condition="($name == 1) OR ($name > 100) "} value1 {elseif condition="$name eq 2"/}value2 {else /} value3 {/if} // 在condition中使用php的语法 {if condition="strtoupper($user['name']) neq 'THINKPHP'"}ThinkPHP {else /} other Framework {/if} // 简化用法 {if condition="表达式"} {if (表达式)} {if 表达式} ``` > ## 范围判断标签(in、notin、between、notbetween) ``` // 判断变量在某个范围内 {in name="id" value="1,2,3"} id在范围内 {/in} ------------------------------------------------------- {between name="id" value="1,10"} 输出内容1 {/between} // 判断变量不在某个范围内 {notin name="id" value="1,2,3"} id不在范围内 {/notin} ------------------------------------------------------- {notbetween name="id" value="1,10"} 输出内容2 {/notbetween} // 合并判断 {in name="id" value="1,2,3"} id在范围内 {else/} id不在范围内 {/in} ------------------------------------------------------- {between name="id" value="1,10"} 输出内容1 {else/} 输出内容2 {/between} // name使用系统变量 {in name="Think.get.id" value="1,2,3"} $_GET['id'] 在范围内 {/in} ------------------------------------------------------- {between name="Think.post.id" value="1,5"} 输出内容1 {/between} // value使用系统变量 {in name="id" value="$Think.post.ids"} id在范围内 {/in} ------------------------------------------------------- {between name="id" value="$Think.get.range"} 输出内容1 {/between} // value使用变量(可以是数组,也可以是逗号分隔的字符串) {in name="id" value="$Think.post.ids"} id在范围内 {/in} ------------------------------------------------------- // 可以是数组也可以是字符串,但是只有两个,一个是上限一个是下限 {between name="id" value="$range"} 输出内容1 {/between} // value只能传入两个参数逗号分隔 {between name="id" value="A,Z"} 输出内容1 {/between} // 可以用range统一替代上面所有用法 {range name="id" value="1,2,3" type="in"} 输出内容1 {/range} ``` > ## 判断变量是否被赋值标签(present,类似isset) ``` // 变量被赋值 {present name="name"} name已经赋值 {/present} // 变量没有被赋值 {notpresent name="name"} name还没有赋值 {/notpresent} // 判断变量是否被赋值 {present name="name"} name已经赋值 {else /} name还没有赋值 {/present} // 判断系统变量是否被赋值 {present name="Think.get.name"} $_GET['name']已经赋值 {/present} ``` > ## 判断变量是否为空标签(empty) ``` // 变量为空 {empty name="name"} name为空值 {/empty} // 变量不为空 {notempty name="name"} name不为空 {/notempty} // 判断变量是否为空 {empty name="name"} name为空 {else /} name不为空 {/empty} // 判断系统变量是否为空 {empty name="Think.get.name"} $_GET['name']为空值 {/empty} ``` > ## 判断常量是否被定义(defined) ``` // 常量被定义 {defined name="NAME"} NAME常量已经定义 {/defined} // 常量未定义 {notdefined name="NAME"} NAME常量未定义 {/notdefined} // 判断常量是否被定义 {defined name="NAME"} NAME常量已经定义 {else /} NAME常量未定义 {/defined} ```