关于thinkphp3.1查询条件array ('in',$getid)中的“$getid”,一直以来我都有点含糊,经过多次调试,现在终于有所收获。下面是操作代码片断:
.. $getid = $_REQUEST['id']; $map['id'] = array ('in',$getid); $News = M('News'); $Newslist = $News->where($map)->select(); if($Newslist !==false){ $this->success(); }else{ $this->error(); }
对于上面 array ('in',$getid)的$getid,我将通过两种方法来探讨一下。
当$getid是一个数组时(一维数组)
"$getid "是一个一维数组,里面有一个或者多个元数,形式如array(1,2,3...)。现在通过"array ('in',$getid)"把它赋值给“$map['gid']”,作为连贯查询条件。查询结果将返回“操作成功”提示。
当$getid是数字型字符串时
先把$getid转换成字符串类型,如下代码:
$getid = $_REQUEST['id']; $getids = implode(',', $getid); $getid = is_array($getid) ? $getids : $getid; $map['id'] = array ('in',$getid); $News = M('News'); $Newslist = $News->where($map)->select(); if($Newslist !==false){ $this->success(); }else{ $this->error(); }
转换后,$getid为字符串类型,形式如:'1,2,3...',查询结果将返回“操作成功”提示。
通过上面的分析,可以知道查询条件array ('in',$getid)中的$getid可以是数组或者字符串。
本文首发WBlog博客,欢迎转载!转载请注明本文地址,谢谢。
本文地址:http://www.w3note.com/web/19.html