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 会话(session 时间设定)使用入门代码
Jun 05 PHP
php数组总结篇(一)
Sep 30 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
php二分查找二种实现示例
Mar 12 PHP
php环境无法上传文件的解决方法
Apr 30 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
PHP文件读取功能的应用实例
May 08 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
PHP 实现浏览记录并按日期分组
May 11 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
PHP面向对象法则
2012/02/23 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
2016/11/16 PHP
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
vue组件实例解析
2017/01/10 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
python登陆asp网站页面的实现代码
2015/01/14 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
python日志记录模块实例及改进
2017/02/12 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python编程argparse入门浅析
2018/02/07 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
Python列表切片常用操作实例解析
2019/12/16 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
2020/02/14 Python
联想德国官网:Lenovo Germany
2018/07/04 全球购物
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
夜大毕业生自我鉴定
2013/10/31 职场文书
咨询公司各岗位职责
2013/12/02 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技
Python简易开发之制作计算器
2022/04/28 Python