ThinkPHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了thinkPHP的表达式查询用法详解大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了thinkphp的表达式查询。分享给大家供大家参,具体如下:

Thinkphp 表达式

这里说的表达式,是指 Thinkphp 框架中特有的表达式。这些表达式用于查询或更新删除等操作的 where条件 及模板标签中。

Where 条件中使用表达式

Where 条件表达式格式为:

);

其中 $map 是一个普通的数组变量,可以根据自己需求而命名。上述格式中的表达式实际是运算符的意义:

BACkground-color: rgb(255,255,255); border-top-color: black; text-indent: 0px; margin: 0px 0px 8px; padding-left: 0px; border-spacing: 0px; width: 629px; padding-right: 0px; display: block; border-collapse: collapse; font: 12px/1.5em Tahoma,verdana,arial,sans-serif,宋体; white-space: normal; border-top-style: solid; letter-spacing: normal; color: rgb(51,51,51); border-right-color: black; border-left-style: solid; overflow: auto; border-left-color: black; word-break: keep-all; word-spacing: 0px; padding-top: 0px; -webkit-text-stroke-width: 0px"> BACkground-color: rgb(255,255); margin: 0px; padding-left: 0px; padding-right: 0px; font-size: 12px; border-top: rgb(204,204,204) 1px solid; padding-top: 0px"> BACkground-color: rgb(248,248,248); margin: 0px; padding-left: 0px; padding-right: 0px; font-size: 12px; border-top: rgb(204,204) 1px solid; padding-top: 0px">
php运算符 与 SQL运算符 对照表
BACkground-color: rgb(204,204); font-style: normal; margin: 0px; padding-left: 2px; padding-right: 2px; font-size: 12px; border-top: gray 1px solid; font-weight: 700; border-right: gray 1px solid; padding-top: 2px">TP运算符 BACkground-color: rgb(204,204); font-style: normal; margin: 0px; padding-left: 2px; padding-right: 2px; font-size: 12px; border-top: gray 1px solid; font-weight: 700; border-right: gray 1px solid; padding-top: 2px">SQL运算符 BACkground-color: rgb(204,204); font-style: normal; margin: 0px; padding-left: 2px; padding-right: 2px; font-size: 12px; border-top: gray 1px solid; font-weight: 700; border-right: gray 1px solid; padding-top: 2px">例子 BACkground-color: rgb(204,204); font-style: normal; margin: 0px; padding-left: 2px; padding-right: 2px; font-size: 12px; border-top: gray 1px solid; font-weight: 700; border-right: gray 1px solid; padding-top: 2px">实际查询条件 BACkground: rgb(246,246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">eqBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">=BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array('eq',100);BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">等效于:$map['id'] = 100;BACkground-color: rgb(255,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">neqBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">!=BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array('neq',246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">id != 100BACkground-color: rgb(248,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">gt 100BACkground-color: rgb(255,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">egt== 100BACkground-color: rgb(248,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">ltBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px"><BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array('lt',246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">id < 100BACkground-color: rgb(255,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">eltBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px"><=BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array('elt',246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">id <= 100BACkground-color: rgb(248,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">likeBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['username'] = array('like','Admin%');BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">username like 'Admin%'BACkground-color: rgb(255,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">betweenBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">between andBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array('between','1,8');BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">id betweeN 1 AND 8BACkground-color: rgb(248,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">not betweenBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">not between andBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array('not between',246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">id NOT betweeN 1 AND 8BACkground-color: rgb(255,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">inBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array('in',5,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">id in(1,8)BACkground-color: rgb(248,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">not inBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array('not in',246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">id not in(1,8)BACkground-color: rgb(255,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">and(默认)BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">andBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array(array('gt',1),array('lt',10)); 1) AND (id < 10)BACkground-color: rgb(248,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">orBACkground: rgb(246,3),10),'or'); 3) OR (id < 10)BACkground-color: rgb(255,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">xor(异或)BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">xorBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">两个输入中只有一个是true时,结果为true,否则为false,例子略。BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">1 xor 1 = 0BACkground-color: rgb(248,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">expBACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">综合表达式BACkground: rgb(246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">$map['id'] = array('exp','in(1,3,8)');BACkground: rgb(246,8');

补充说明

同 SQL 一样,Thinkphp运算符不区分大小写,eq 与 EQ 一样。

between、 in 条件支持字符串或者数组,即下面两种写法是等效的:

php;"> $map['id'] = array('not in',8'); $map['id'] = array('not in',array('1','5','8'));

exp 表达式

上表中的 exp 不是一个运算符,而是一个综合表达式以支持更复杂的条件设置。exp 的操作条件不会被当成字符串,可以使用任何 SQL 支持的语法,包括使用函数和字段名称。

exp 不仅用于 where 条件,也可以用于数据更新,如:

save($data);

注:对于数字字段的加减,可以直接使

更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《php模板技术总结》。

希望本文所述对大家基于Thinkphp框架的php程序设计有所帮助。

大佬总结

以上是大佬教程为你收集整理的thinkPHP的表达式查询用法详解全部内容,希望文章能够帮你解决thinkPHP的表达式查询用法详解所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。