php 중복 문자 제거
본문
만약 $a = "1,2,3"이있고
$b = "2,3,4" 가 있다면
2와 3을 제거하고 1,4만 남게 하려면 어떻게 해야할까요?
답변 1
여집합을 구하는거군요.
php함수중에
array_diff 는 차집합
array_intersect 는 교집합 입니다.
불행히도 php에 여집합 함수는 없습니다.
드모르간 법칙을 적용해서 구해봅니다.
https://ko.wikipedia.org/wiki/%EC%97%AC%EC%A7%91%ED%95%A9
$arr_a = explode(",", $a);
$arr_b = explode(",", $c);
//여집합
$arr_c = array_merge(
array_diff($arr_a, $arr_b), // 1
array_diff($arr_b, $arr_a) //4
);
// $arr_c = 1 4
echo implode(",", $arr_c);
//result = 1,4
//교집합은
$arr_d = array_intersect($arr_a, $arr_b); //2, 3
//합집합은
$arr_e = array_merge(
array_intersect($arr_a, $arr_b), //2, 3
array_diff($arr_a, $arr_b), // 1
array_diff($arr_b, $arr_a) //4
); //2, 3, 1, 4
답변을 작성하시기 전에 로그인 해주세요.