ThinkPHP的where方法的in操作符说明


关键词

ThinkPHP where in

摘要

本文介绍ThinkPHP中where方法的in操作符的相关问题,因为结合PHP喜欢使用数组的原因,in操作符与一般SQL语句中的使用略有不同。

一般情况下,SQL语句中in操作符的使用方式如下:

select * from `table1` where `id` in (1,2,3);

所以大家看到了,in操作符之后是一对小括号,把in的范围用括号括起来。


在ThinkPHP中,in操作的写法如下:
$where = array();
$where['id'] = array('in','1,2,3');
M('table1')->where($where)->select();

注意:

1、in之后不用把'1,2,3'用小括号再括起来,ThinkPHP在转换成SQL语句的过程中会自动添加小括号。

2、这里因为in的范围是数字,所以可以直接写'1,2,3'。如果是字符串,则需要使用数组的方式传递参数。如:
$list = array('a','b','c');
$where['type'] = array('in',$list);

综上所述,如果你的范围变量就是数组,那直接放到条件里面去就行。如果你的范围变量是字符串连起来的,那记得不用在外边加括号。

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权

本文属于“洪哥笔记”原创文章,转载请注明来源地址:ThinkPHP的where方法的in操作符说明:http://www.splaybow.com/post/thinkphp-where-in-14263719.html

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« wdcms-php示例 session_unset()和session_destroy()的区别 »