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之变量、常量学习笔记
Mar 27 PHP
PHP中的生成XML文件的4种方法分享
Oct 06 PHP
解析PHP实现下载文件的两种方法
Jul 05 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
PHP+MySQL修改记录的方法
Jan 21 PHP
PHP将HTML转换成文本的实现代码
Jan 21 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
php面向对象编程self和static的区别
May 08 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
php ajax confirm 删除实例详解
Mar 06 PHP
Laravel如何实现自动加载类
Oct 14 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面向对象
2012/02/22 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
javascript获取当前ip的代码
2009/05/10 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
python实现定时发送qq消息
2019/01/18 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
英智兴达软件测试笔试题
2016/10/12 面试题
Unix如何添加新的用户
2014/08/20 面试题
模范教师材料大全
2014/12/16 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
Django框架中表单的用法
2022/06/10 Python