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 相关文章推荐
WML,Apache,和 PHP 的介绍
Oct 09 PHP
PHP生成HTML静态页面实例代码
Aug 31 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
php smarty truncate UTF8乱码问题解决办法
Jun 13 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
使用PHP similar text计算两个字符串相似度
Nov 06 PHP
THinkPHP获取客户端IP与IP地址查询的方法
Nov 14 PHP
php连接mysql数据库
Mar 21 PHP
PHP从数组中删除元素的四种方法实例
May 12 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 PHP
PHP实现一个限制实例化次数的类示例
Sep 16 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
浅谈PHP语法(1)
2006/10/09 PHP
php中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
2013/06/29 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
jQuery MD5加密实现代码
2010/03/15 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
Node学习记录之cluster模块
2017/05/31 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
python实现大转盘抽奖效果
2019/01/22 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
夜大自我鉴定
2013/10/31 职场文书
招商业务员岗位职责
2013/12/16 职场文书
护士辞职信怎么写
2015/02/27 职场文书
公司考勤管理制度
2015/08/04 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
PHP中多字节字符串操作实例详解
2021/08/23 PHP