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 $_FILES函数详解
Mar 09 PHP
PHP防CC攻击实现代码
Dec 29 PHP
PHP循环结构实例讲解
Feb 10 PHP
smarty表格换行实例
Dec 15 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
php实现将Session写入数据库
Jul 26 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
PHP数组编码gbk与utf8互相转换的两种方法
Sep 01 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 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 SQL之where语句生成器
2009/03/24 PHP
PHP学习笔记之数组篇
2011/06/28 PHP
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
linux命令之调试工具strace的深入分析
2013/06/03 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
浅谈js中的闭包
2015/03/16 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
vue实现分页栏效果
2019/06/28 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
由面试题加深对Django的认识理解
2019/07/19 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
小学生读书笔记
2015/07/01 职场文书
老兵退伍感言
2015/08/03 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
Mysql Online DDL的使用详解
2021/05/20 MySQL
一文搞懂php的垃圾回收机制
2021/06/18 PHP