ThinkPHP Where 条件中常用表达式示例(详解)


Posted in PHP onMarch 31, 2017

Where 条件表达式格式为:

$map['字段名'] = array('表达式', '操作条件');

其中 $map 是一个普通的数组变量,可以根据自己需求而命名。上述格式中的表达式实际是运算符的意义:

ThinkPHP运算符 与 SQL运算符 对照表
TP运算符 SQL运算符 例子 实际查询条件
eq = $map['id'] = array('eq',100); 等效于:$map['id'] = 100;
neq != $map['id'] = array('neq',100); id != 100
gt > $map['id'] = array('gt',100); id > 100
egt >= $map['id'] = array('egt',100); id >= 100
lt $map['id'] = array('lt',100); id
elt $map['id'] = array('elt',100); id
like like $map = array('like','Admin%'); username like 'Admin%'
between between and $map['id'] = array('between','1,8'); id BETWEEN 1 AND 8
not between not between and $map['id'] = array('not between','1,8'); id NOT BETWEEN 1 AND 8
in in $map['id'] = array('in','1,5,8'); id in(1,5,8)
not in not in $map['id'] = array('not in','1,5,8'); id not in(1,5,8)
and(默认) and $map['id'] = array(array('gt',1),array('lt',10)); (id > 1) AND (id
or or $map['id'] = array(array('gt',3),array('lt',10), 'or'); (id > 3) OR (id
xor(异或) xor 两个输入中只有一个是true时,结果为true,否则为false,例子略。 1 xor 1 = 0
exp 综合表达式 $map['id'] = array('exp','in(1,3,8)'); $map['id'] = array('in','1,3,8');

补充说明

• 同 SQL 一样,ThinkPHP运算符不区分大小写,eq 与 EQ 一样。

• between、 in 条件支持字符串或者数组,即下面两种写法是等效的:

$map['id'] = array('not in','1,5,8');
$map['id'] = array('not in',array('1','5','8'));

exp 表达式

上表中的 exp 不是一个运算符,而是一个综合表达式以支持更复杂的条件设置。exp 的操作条件不会被当成字符串,可以使用任何 SQL 支持的语法,包括使用函数和字段名称。

exp 不仅用于 where 条件,也可以用于数据更新,如:

$Dao = M("Article");
//构建 save 的数据数组,文章点击数+1
$data['id'] = 10;
$data['counter'] = array('exp','counter+1');
//根据条件保存修改的数据
$User->save($data);

以上这篇ThinkPHP Where 条件中常用表达式示例(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
汉字转化为拼音(php版)
Oct 09 PHP
推荐个功能齐全的发送PHP邮件类
Jan 03 PHP
PHP代码审核的详细介绍
Jun 13 PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 PHP
PHP远程采集图片详细教程
Jul 01 PHP
php遍历目录方法小结
Mar 10 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
Mar 01 PHP
php生成mysql的数据字典
Jul 07 PHP
Laravel5中Cookie的使用详解
May 03 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
Laravel框架之解决前端显示图片问题
Oct 24 PHP
PHP7 弃用功能
Mar 09 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 #PHP
关于PHP通用返回值设置方法
Mar 31 #PHP
PHP针对中英文混合字符串长度判断及截取方法示例
Mar 31 #PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 #PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
Mar 29 #PHP
PHP的反射机制实例详解
Mar 29 #PHP
php面向对象之反射功能与用法分析
Mar 29 #PHP
You might like
PHP读取mssql json数据中文乱码的解决办法
2016/04/11 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
jQuery在iframe中无法弹出对话框的解决方法
2014/01/12 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
js类的继承定义与用法分析
2019/06/21 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
easy_install python包安装管理工具介绍
2013/02/10 Python
python实现数通设备端口监控示例
2014/04/02 Python
深入解析Python中的上下文管理器
2016/06/28 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
在python中使用nohup命令说明
2020/04/16 Python
python 递归相关知识总结
2021/03/03 Python
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
广州迈达威.net面试题目
2012/03/10 面试题
医院后勤自我鉴定
2013/10/13 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
名人传读书笔记
2015/06/26 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书