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&mysql(一)
Oct 09 PHP
在PHP中执行系统外部命令
Oct 09 PHP
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
php购物车实现代码
Oct 10 PHP
PHP中基本HTTP认证技巧分析
Mar 16 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
thinkPHP交易详情查询功能详解
Dec 02 PHP
Yii2处理密码加密及验证的方法
May 12 PHP
PHP使用递归按层级查找数据的方法
Nov 10 PHP
Laravel框架集合用法实例浅析
May 14 PHP
PHP二维数组分页2种实现方法解析
Jul 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
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
php导入导出excel实例
2013/10/25 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
用JS写的一个TableView控件代码
2010/01/23 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
Python实现全角半角字符互转的方法
2016/11/28 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
Python实现SMTP邮件发送
2020/06/16 Python
学python最电脑配置有要求么
2020/07/05 Python
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
2014年教研室工作总结
2014/12/06 职场文书
求职信范文怎么写
2015/03/19 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers
进行数据处理的6个 Python 代码块分享
2022/04/06 Python
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers