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同样的数值则可以返回结果,请问是什么原因
展开
 我来答
简丹笑home
2018-04-01 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:77%
帮助的人:49万
展开全部

你好,根据这个问题,我之前也遇到过,当时我将数组转化成字符串就可以解决了。
形式如下:

//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数组,是否为一个一维数组。
希望可以帮到你。

海狮不醒fa6c3
2019-12-11 · TA获得超过171个赞
知道答主
回答量:49
采纳率:0%
帮助的人:4.5万
展开全部
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基础呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式