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 mysql数据库操作类
Jun 04 PHP
php合并数组array_merge函数运算符加号与的区别
Oct 31 PHP
php URL编码解码函数代码
Mar 10 PHP
PHP 基于文件头的文件类型验证类函数
May 01 PHP
PHP学习笔记之字符串编码的转换和判断
May 22 PHP
async和DOM Script文件加载比较
Jul 20 PHP
thinkphp中空模板与空模块的用法实例
Nov 26 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
php实现zip文件解压操作
Nov 03 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 PHP
php实现图片以base64显示的方法
Oct 13 PHP
PHP操作路由器实现方法示例
Apr 27 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
帅气的琦玉老师
2020/03/02 日漫
检查url链接是否已经有参数的php代码 添加 ? 或 &
2010/02/09 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
PHP检测用户语言的方法
2015/06/15 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
JavaScript的Cookies
2008/01/16 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
jquery分页对象使用示例
2014/04/01 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
2019/08/17 Javascript
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
python生成器generator用法实例分析
2015/06/04 Python
Python的re模块正则表达式操作
2016/05/25 Python
Python 基础知识之字符串处理
2017/01/06 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
python tkinter基本属性详解
2019/09/16 Python
Python内存映射文件读写方式
2020/04/24 Python
计算机专业大学生的自我评价
2013/11/14 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
读群众路线的心得体会
2014/09/03 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS