중복값 제거 문의 드립니다..

중복값 제거 문의 드립니다..

QA

중복값 제거 문의 드립니다..

답변 1

본문

안녕하세요!

 

체크박스에서 체크한 값을 받아서 사용하는 과정에서

궁금한 사항이 있어 질문 드립니다.

 

그누보드 리스트 페이지에서

<input type=checkbox name=chk_wr_id[] value="<?=$wr_id?>|<?=$wr_1?>">

위와 같이 값을 두개를 보내고

 

받아서 사용하는 페이지에서는

 

$comma = "";

for ($i=0; $i<count($_POST[chk_wr_id]); $i++) { 
  $test = $_POST[chk_wr_id][$i];
  $test = explode("|", $test);

 

  $test1_list .= $comma . $test[0];

  $test2_list .= $comma . $test[1];

}

 

이렇게 해서 사용 중인데요

 

리스트페이지에서 체크박스를 여러게 선택했을때

$test1_list 나

$test2_list  의 값이 예로

 

$test2_list = '사과,배,감,귤,사과,사과,키위,귤,딸기';

 

일경우에 중복된 값이 있다면 1개만 표기하려고 하는데 가능한가요

위 값이 아래처럼 나오게 하고 싶습니다.

 

$test2_list = '사과,배,감,귤,키위,딸기';

 

여기저기 검색할때

php 중복제거로 검색하니

array_unique($array)

 

이런글이 대부분이여서 아래처럼 했는데,

$test2_list = array_unique($test2_ list)

에러가 납니다.​

Warning: array_unique() [function.array-unique]: The argument should be an array in  .........


질문이 제대로 됐는지 모르겠습니다!

답변 부탁드릴께요!!

 

 

이 질문에 댓글 쓰기 :

답변 1

$temp=explode(",",$test2_list);

$temp=array_unique($temp); 

$test2_list=implode(",",$temp);

 

 

array_unique 함수는 배열에만 적용됩니다.

일단 구분자를 기준으로 explode 로 배열로 만든다음에..

임시 변수에 저장합니다.

임시 변수 ($temp) 에 저장된 배열을 array_unique 를 통해서 중복을 제거하고

다시 implode 함수를 통해 "," 구분자로 배열을 연결해서 원래 텍스트로 만들어준후

$test_list 에 대입합니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 5
© SIRSOFT
현재 페이지 제일 처음으로