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 相关文章推荐
PHPMyAdmin 快速配置方法
May 11 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
destoon常用的安全设置概述
Jun 21 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
php编程每天必学之验证码
Mar 03 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
Aug 05 PHP
调试php程序的简单步骤
Oct 04 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
ThinkPHP 404页面的设置方法
2015/01/14 PHP
prototype 1.5 & scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
pandas DataFrame索引行列的实现
2019/06/04 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
python 常见的反爬虫策略
2020/09/27 Python
美国校服网上商店:French Toast
2019/10/08 全球购物
应届大学生简历中的自我评价
2014/01/15 职场文书
市场开发计划书
2014/05/07 职场文书
关于安全的演讲稿
2014/05/09 职场文书
2014年招商工作总结
2014/11/22 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书