thinkphp 中 array in没有结果
$test=[5,6];$seller_list1=[];foreach($seller_listas$every){$seller_list1[]=(int)$ever...
$test = [5,6];
$seller_list1=[];
foreach($seller_list as $every){
$seller_list1[]=(int)$every['member_id'];
}
//搜索
$condition = array();
$condition['buyer_id'] = array('in',$seller_list1);
以上部分为代码,$seller_list1为存储表中member_id的数组,希望将其当作条件建立新的查询,但是在下面in的数组部分输入$seller_list1返回的是空结果,我尝试在前台打印$seller_list1中的内容,有结果,然后用test写死$seller_list1同样的数值则可以返回结果,请问是什么原因 展开
$seller_list1=[];
foreach($seller_list as $every){
$seller_list1[]=(int)$every['member_id'];
}
//搜索
$condition = array();
$condition['buyer_id'] = array('in',$seller_list1);
以上部分为代码,$seller_list1为存储表中member_id的数组,希望将其当作条件建立新的查询,但是在下面in的数组部分输入$seller_list1返回的是空结果,我尝试在前台打印$seller_list1中的内容,有结果,然后用test写死$seller_list1同样的数值则可以返回结果,请问是什么原因 展开
2个回答
展开全部
你好,根据这个问题,我之前也遇到过,当时我将数组转化成字符串就可以解决了。
形式如下:
//array('in',$param),$param可以是一维数组或者字符串
$ids = [1,2,3];
$ids_string = implode(',', $ids);
$where['id'] = array('in',$ids_string);//== $where['id'] = array('in','1,2,3');
所以,你应该检查一下,文中生成的$seller_list1数组,是否为一个一维数组。
希望可以帮到你。
展开全部
foreach($seller_list as $every=>$v){
$seller_list1[]=(int)$v['member_id'];
//array_push($seller_list1,(int)$v['member_id'])
}
或者
foreach($seller_list as $every){
$seller_list1[]=(int)$seller_listp[$every]['member_id'];
//array_push($seller_list1,(int)$seller_listp[$every]['member_id'])
}
你这php基础呀
$seller_list1[]=(int)$v['member_id'];
//array_push($seller_list1,(int)$v['member_id'])
}
或者
foreach($seller_list as $every){
$seller_list1[]=(int)$seller_listp[$every]['member_id'];
//array_push($seller_list1,(int)$seller_listp[$every]['member_id'])
}
你这php基础呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询