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安全配置
Dec 06 PHP
php创建多级目录代码
Jun 05 PHP
新手学习PHP的一些基础知识分享
Jul 27 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
PHP的加密方式及原理
Jun 14 PHP
分享一下贝贝成长进度的php代码
Sep 14 PHP
一个PHP的ZIP压缩类分享
May 04 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
Oct 30 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
在线增减.htpasswd内的用户
2006/10/09 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
UserData用法总结 lanyu出品
2010/07/01 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
如何快速上手Vuex
2017/02/14 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
js实现简单商品筛选功能
2021/02/02 Javascript
Python的lambda匿名函数的简单介绍
2013/04/25 Python
Python类的多重继承问题深入分析
2014/11/09 Python
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
比利时买床:Beter Bed
2017/12/06 全球购物
新娘父亲婚礼致辞
2014/01/16 职场文书
教师三严三实心得体会
2014/10/11 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
Python django中如何使用restful框架
2021/06/23 Python
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题