PHP如何拆分逗号分隔name值并遍历查询对应ID拼接输出
问题原因
- 你混淆了
implode()和explode()的功能:implode()用于将数组拼接为字符串,explode()用于将字符串按分隔符拆分为数组,你的$name['name']本身是逗号分隔的字符串,需要用explode()拆成数组才能遍历 - 拆分后数组的每一项就是单个name字符串,不需要再取
$row['name']下标
修正后代码
$name = $this->UserSkills->where('id', session()->get('id'))->first(); // 将逗号分隔的name字符串拆分为数组 $nameArr = explode(",", $name['name']); $setname = []; foreach($nameArr as $row) { // 直接传单个name值查询ID $setname[] = $this->checkName->getIDbyName($row); } // 将查询到的ID数组拼接为逗号分隔的字符串 $setname = implode(",", $setname); $data['id_name'] = $setname;
内容的提问来源于stack exchange,提问作者Boris
相关产品推荐
相关产品推荐

