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抓即时股票信息
Oct 09 PHP
php 常用字符串函数总结
Mar 15 PHP
PHP+MySQL 制作简单的留言本
Nov 02 PHP
php 安全过滤函数代码
May 07 PHP
解析linux下安装memcacheq(mcq)全过程笔记
Jun 27 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
PHP之密码加密的几种方式
Jul 29 PHP
php实现简易聊天室应用代码
Sep 23 PHP
基于PHP的微信公众号的开发流程详解
Aug 07 PHP
PHP http请求超时问题解决方案
Nov 13 PHP
PHP设计模式之命令模式示例详解
Dec 20 PHP
php优化查询foreach代码实例讲解
Mar 24 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获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
PHP中each与list用法分析
2016/01/08 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
2020/12/13 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
js实现倒计时及时间对象
2016/11/15 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
canvas基础绘制-绚丽倒计时的实例
2017/09/17 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
Django在win10下的安装并创建工程
2017/11/20 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
python标准库OS模块详解
2020/03/10 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
学期研究性学习个人的自我评价
2014/01/09 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
文秘档案管理岗位职责
2014/03/06 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
四风问题个人对照检查剖析材料
2014/09/27 职场文书
公司催款律师函
2015/05/27 职场文书