ThinkPHP模板IF标签用法详解

ThinkPHP模板IF标签用法详解

投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-07-01 我要评论

这篇文章主要介绍了ThinkPHP模板IF标签用法,需要的朋友可以参考下

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>

注意:
由于if标签的condition属性里面基本上使用的是php语法,尽可能使用判断标签和Switch标签会更加简洁,原则上来说,能够用switch和比较标签解决的尽量不用if标签完成。因为switch和比较标签可以使用变量调节器和系统变量。如果某些特殊的要求下面,IF标签仍然无法满足要求的话,可以使用原生php代码或者PHP标签来直接书写代码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114393.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle12c ora01017,ORACLE 12C 之 ORA-01017

    oracle12c ora01017,ORACLE 12C 之 ORA-01017oracle12C 以后 数据库分为 container 和 pdb 两个层面 在 Container 里建用户与 pdb 中建用户有所区别 在 Container 中建用户 需要以 C 开头 如下 SQL gt createuserte createuserte ERRORatline1 OR

    2026年1月14日
    2
  • dubbo负载均衡策略和集群容错机制

    dubbo负载均衡策略和集群容错机制(1)dubbo负载均衡策略(1)dubbo负载均衡策略1)randomloadbalance默认情况下,dubbo是randomloadbalance随机调用实现负载均衡,可以对provider不同实例设置不同的权重,会按照权重来负载均衡,权重越大分配流量越高,一般就用这个默认的就可以了。2)roundrobinloadbalance还有roundrobinloadbalance,这个的话默认就是均匀地将流量打到各个机器上去,但是如果各个机器的性能不一样,容易导致性能差的机器

    2022年7月11日
    22
  • TCP拥塞控制算法(Tahoe/Reno/Newreno)

    TCP拥塞控制算法(Tahoe/Reno/Newreno)TCP拥塞控制算法(Tahoe/Reno/Newreno)前言TCP(TransmissionControlProtocol),传输控制协议,是目前__Internet__上最重要的一个通信协议之一,其作用是对数据的传输进行一定的控制;而拥塞控制算法又是TCP中最重要的一个算法之一,接下来我们先来了解一下基本概念,再来详细介绍3个协议中的拥塞控制算法以及他们之间的区别。前期知识储备及名词…

    2022年6月24日
    59
  • mac电脑 datagrip 激活码_通用破解码

    mac电脑 datagrip 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    50
  • MQTT服务器搭建非常详细流程(每一步都有,CMD窗口都有)

    MQTT服务器搭建非常详细流程(每一步都有,CMD窗口都有)搭建过程想搭建一个MQTT服务器,刚好找到ApacheActiveMQArtemis支持,而且是基于Java开发的,那跨平台就很方便。以下是在Windows7(64位)系统下搭建:下载首先下载ApacheActiveMQArtemis,官方地址:https://activemq.apache.org/components/artemis/download/下载bin包就可以安装随便解压Z:\apache-artemis-2.9.0创建使用cmd命令行进入cd->Z:\apa

    2022年5月15日
    43
  • Aria2安装(aria2安卓版手机配置教程)

    1安装sudopacman-Saria22创建配置文件cd~mkdir.aria2cd.aria2toucharia2.confaria2.logaria2.session3修改配置文件aria2.conf需要自己配置rpc-secret和bt-trackerbt-tracker可以去trackerslist网站获取#文件的保存路径(可使用绝对路径或相对路径),默认:当前启动位置dir=${HOME}/Downloads#启用磁盘缓存,0为

    2022年4月14日
    1.1K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号