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动态生成虚拟现实VRML网页
Oct 09 PHP
PHP下对数组进行排序的函数
Aug 08 PHP
PHP资源管理框架Assetic简介
Jun 12 PHP
个人写的PHP验证码生成类分享
Aug 21 PHP
php实现仿写CodeIgniter的购物车类
Jul 29 PHP
提高php编程效率技巧
Aug 13 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 PHP
浅析PHP中json_encode与json_decode的区别
Jul 15 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
德生PL330的评价与改造
2021/03/02 无线电
php中的实现trim函数代码
2007/03/19 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
Maps Javascript
2007/01/22 Javascript
一个tab标签切换效果代码
2009/03/27 Javascript
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
Vue.use源码分析
2017/04/22 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
Flask入门之上传文件到服务器的方法示例
2018/07/18 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
基于python实现对文件进行切分行
2020/04/26 Python
python3实现飞机大战
2020/11/29 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
销售自我评价
2013/10/22 职场文书
军训自我鉴定
2013/12/14 职场文书
单身联谊活动方案
2014/01/29 职场文书
产品质量承诺范本
2014/03/31 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
2015年工会工作总结
2015/03/30 职场文书