大佬教程收集整理的这篇文章主要介绍了thinkPHP的表达式查询用法详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了thinkphp的表达式查询。分享给大家供大家参考,具体如下:
这里说的表达式,是指 Thinkphp 框架中特有的表达式。这些表达式用于查询或更新删除等操作的 where条件 及模板标签中。
Where 条件表达式格式为:
);
其中 $map 是一个普通的数组变量,可以根据自己需求而命名。上述格式中的表达式实际是运算符的意义:
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-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">BACkground: rgb(246,246,246); font-size: 12px; border-top: gray 1px solid; border-right: gray 1px solid; padding-top: 3px">eq | BACkground: 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 条件支持字符串或者数组,即下面两种写法是等效的:
上表中的 exp 不是一个运算符,而是一个综合表达式以支持更复杂的条件设置。exp 的操作条件不会被当成字符串,可以使用任何 SQL 支持的语法,包括使用函数和字段名称。
exp 不仅用于 where 条件,也可以用于数据更新,如:
注:对于数字字段的加减,可以直接使
更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《php模板技术总结》。
希望本文所述对大家基于Thinkphp框架的php程序设计有所帮助。
以上是大佬教程为你收集整理的thinkPHP的表达式查询用法详解全部内容,希望文章能够帮你解决thinkPHP的表达式查询用法详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。