php if相关标签,条件判断标签

本文详细介绍了模板引擎中的几种条件判断标签,包括SWITCH、IF、范围判断(in、notin、between、notbetween)、变量赋值判断(present)和变量空值判断(empty)。这些标签用于在模板中实现条件逻辑,例如根据变量值进行不同内容的输出,判断变量是否在特定范围内,以及检查变量是否存在或是否为空。示例代码展示了各种标签的用法和组合使用方式。
摘要由CSDN通过智能技术生成

> ## 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}

```

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值