1번 $result 값을 2번에 대입 했는데,
explode() expects parameter 2 to be string, array given 경고 메시지가 나오네요;;
어디서 잘 못된 걸까요??? $result 은 아래와 같습니다
Array ( [0] => stdClass Object ( [job_type] => 기획자,엔지니어 ) )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | function recruit_list($mem_id) { [1] $this->db->select(' group_concat(DISTINCT job_type) AS job_type '); $this->db->from('profile_basic'); $this->db->where('mem_id', $mem_id); $query = $this->db->get(); $result = $query->result(); //[2] 1번의 $result 값 콤마 기준으로 분리해서 배열로 만듬 $array_job_type = explode( "," , $result ); //[3] 2번 값을 where_in에 대입 $this->db->select(' a.mem_id, b.rbs_id, b.recruit_name, company_logo, job_type '); $this->db->from('member AS a'); $this->db->join('recruit_basic AS b','a.mem_id = b.mem_id'); $this->db->where_in('job_type', $array_job_type); //2번 값을 where_in에 대입 $query = $this->db->get(); $result = $query->result(); return $result; } |
"explode() expects parameter 2 to be string, array given"은 번역하면 explode() 의 2번 변수가 문자열이어야 하는데 배열이 들어왔다는 겁니다. 이건 에러가 아니고 지금 하신 실수를 지적한 겁니다. 왜냐하면 지금 질문자님은 $result 말고 $result[0]->job_type 을 콤마로 구분하고 싶으신 거거든요. $array_job_type = explode(",", $result[0]->job_type); 하셔야 원하는걸 얻으실수 있을것입니다. 변종원(웅파) / 2019/08/27 15:41:15 / 추천 0 explode()이 목적이 스트링을 특정 문자로 구분하여 배열화 하는 것입니다.