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+Html+缓存
Nov 25 PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
php命令行使用方法和命令行参数说明
Apr 08 PHP
php生成静态页面的简单示例
Apr 17 PHP
php数组中删除元素之重新索引的方法
Sep 16 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
Json_encode防止汉字转义成unicode的方法
Feb 25 PHP
Zend Framework实现多服务器共享SESSION数据的方法
Mar 22 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
Yii框架连表查询操作示例
Sep 06 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性能的21种方法介绍
2013/06/25 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
详解Vue项目中实现锚点定位
2019/04/24 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
jQuery 动态粒子效果示例代码
2020/07/07 jQuery
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
PyQt5实现简单数据标注工具
2019/03/18 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
一组SQL面试题
2016/02/15 面试题
高中生毕业学习总结的自我评价
2013/11/14 职场文书
求职信模版
2013/11/30 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
高中运动会广播稿
2014/09/16 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL