范围判断标签包括in notin between notbetween四个标签,都用于判断变量是否中某个范围。

大理石平台价格

IN和NOTIN

用法: 假设我们中控制器中给id赋值为1:

  1. $id = 1;
  2. $this->assign('id',$id);

我们可以使用in标签来判断模板变量是否在某个范围内,例如:

  1. <in name="id" value="1,2,3">
  2. id在范围内
  3. </in>

最后会输出:id在范围内

如果判断不在某个范围内,可以使用: id不在范围内 可以把上面两个标签合并成为:

  1. <in name="id" value="1,2,3">
  2. id在范围内
  3. <else/>
  4. id不在范围内
  5. </in>

name属性还可以支持直接判断系统变量,例如:

  1. <in name="Think.get.id" value="1,2,3">
  2. $_GET['id'] 在范围内
  3. </in>

更多的系统变量用法可以参考系统变量部分。

value属性也可以使用变量,例如:

  1. <in name="id" value="$range">
  2. id在范围内
  3. </in>

$range变量可以是数组,也可以是以逗号分隔的字符串。

value属性还可以使用系统变量,例如:

  1. <in name="id" value="$Think.post.ids">
  2. id在范围内
  3. </in>

BETWEEN 和 NOTBETWEEN

可以使用between标签来判断变量是否在某个区间范围内,可以使用:

  1. <between name="id" value="1,10">
  2. 输出内容1
  3. </between>

同样,可以使用notbetween标签来判断变量不在某个范围内:

  1. <notbetween name="id" value="1,10">
  2. 输出内容2
  3. </notbetween>

也可以使用else标签把两个用法合并,例如:

  1. <between name="id" value="1,10">
  2. 输出内容1
  3. <else/>
  4. 输出内容2
  5. </between>

当使用between标签的时候,value只需要一个区间范围,也就是只支持两个值,后面的值无效,例如

  1. <between name="id" value="1,3,10">
  2. 输出内容1
  3. </between>

实际判断的范围区间是1~3,而不是1~10,也可以支持字符串判断,例如:

  1. <between name="id" value="A,Z">
  2. 输出内容1
  3. </between>

name属性可以直接使用系统变量,例如:

  1. <between name="Think.post.id" value="1,5">
  2. 输出内容1
  3. </between>

value属性也可以使用变量,例如:

  1. <between name="id" value="$range">
  2. 输出内容1
  3. </between>

变量的值可以是字符串或者数组,还可以支持系统变量。

  1. <between name="id" value="$Think.get.range">
  2. 输出内容1
  3. </between>

RANGE

也可以直接使用range标签,替换前面的判断用法:

  1. <range name="id" value="1,2,3" type="in">
  2. 输出内容1
  3. </range>

其中type属性的值可以用in/notin/between/notbetween,其它属性的用法和IN或者BETWEEN一致。

thinkphp 范围标签的更多相关文章

  1. thinkphp <volist>标签中 <if> 判断的写法

    thinkphp <volist>标签中 <if> 判断的写法 <volist name="data" id="vo"> & ...

  2. thinkphp自定义标签库

    thinkphp ~ php中 的类, 的成员变量, 本身是没有类型说明的, 那么我怎么知道它的类型呢? 或初始值呢? 通常在类定义中, 如果能给一个初始值的(对于已知简单类型的),最好给一个初始值, ...

  3. ThinkPHP Volist标签

    Volist标签主要用于在模板中循环输出数据集或者多维数组. volist标签(循环输出数据) 闭合 非闭合标签 属性 name(必须):要输出的数据模板变量 id(必须):循环变量 offset(可 ...

  4. thinkphp 自定义标签

    关于标签的个人理解是 拼凑php 字符串 通过eval()来进行,返回数据.过程应该是这样的,在模板中加入 定义标签为<mytag:list></mytag>,那么在mvc 中 ...

  5. ThinkPHP HTML标签代码和UBB互相转换

    1.UBB 转为 HTML TP的扩展里面自带一个ubb方法,用这个方法就能把用户输入的ubb格式代码转换为HTML标签的代码.这里用到的基本知识就是正则表达式啦,今天先不讲正则表达式. 来看一下TP ...

  6. ThinkPHP - 自定义标签库 - 标签驱动

    ThinkPHP 官方文档:http://document.thinkphp.cn/manual_3_2/taglib_driver.html 创建一个类,继承自TagLib类: <?php / ...

  7. Thinkphp自定义标签

    1.定义TagLib目录和文件  TagLibSmarTop.class.php 2.配置文件 <?php return array( 'APP_AUTOLOAD_PATH'=>'@.Ta ...

  8. thinkphp if标签

    1.thinkphp框架中的if标签,用于html页面中.在html中编写php代码 1).从控制器中得到数据在循环中if else 判断:<volist name="system_r ...

  9. THINKPHP include 标签动态加载文件

    有时候需要在框架中动态的加载一些文件,文件名不确定,有控制器获取得到,想在模板中使用变量的形式进行加载,本以为这样写可以 结果不行 <include file="User/{$my_t ...

  10. thinkphp import标签

    传统方式的导入外部JS和CSS文件的方法是直接在模板文件使用: 直线电机哪家好 <script type='text/javascript' src='/Public/Js/Util/Array ...

随机推荐

  1. DDOS到底是什么,怎么预防,看看就明白了

    可怕的DDOS怎么预防 分布式拒绝服务(DDoS: distributed denial-of-service)攻击是恶意破坏目标服务器.服务或网络的正常通信量的企图,其方法是用大量Internet通 ...

  2. Oracle数据库与MySQL的不同点

    Oracle笔记 一.   Oracle的启动和登录:  1.启动:通过启动Oracle的服务启动. OracleServiceORCL:核心服务,必须启动. OracleOraDb11g_home1 ...

  3. 将Java和Javac的命令在控制台的输出重定向到txt文件

    当我们在Windows控制台窗口执行程序时,输入如下命令: demo.exe > out.txt 就可以把demo程序的输出重定向到out.txt文件里面. 但是这种方法对于java和javac ...

  4. OneDrive一直后台占用CPU的一种解决办法

    系统版本:Windows 7 ultimate x64 Onedrive版本:17.3.6998.0830 最近发现Onedrive一直在后台占用15%左右的CPU,很是觉得奇怪,网上的解决方案是删除 ...

  5. 【颓废篇】Py:从零开始的poj自动提交

    之前学习了一些python的爬虫技术... 已经可以通过python来水blog的阅读量了 你知道的太多了, 然而你看我这个blog惨不忍睹的访问量, 有人吗? 有人吗? 今天突然又双叒叕心血来潮想写 ...

  6. charles抓取数据

    charles抓包 抓取手机app的数据 charles设置 help--->SSL Proxying--->Install Charles Root Certificate 1.给电脑下 ...

  7. thinkphp 域名部署

    ThinkPHP支持模块(甚至可以包含控制器)的完整域名.子域名和IP部署功能,让你的模块变得更加灵活,模块绑定到域名或者IP后,URL地址中的模块名称就可以省略了,所以还可以起到简化URL的作用. ...

  8. 秦曾昌人工智能课程---5、KNN和朴素贝叶斯

    秦曾昌人工智能课程---5.KNN和朴素贝叶斯 一.总结 一句话总结: 拟合和概率:构建机器学习模型,一般有拟合和概率两种方式 轻学无用:一定要保证学有所用,要深入学习,比如之前做的安卓,一定要学通, ...

  9. AtCoder ABC 128F Frog Jump

    题目链接:https://atcoder.jp/contests/abc128/tasks/abc128_f 题目大意 给定长度为 N 的序列$s_0, s_1, \dots, s_{N-1}$,现在 ...

  10. 剑指offer——30栈的压入、弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...