对thinkphp3.1查询条件array ('in',$getid)条件的理
关于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