2011-04-07 3 views
28

배열 2에 존재하지 않는 배열 1의 모든 구성원을 가져 오는 기본 제공 함수가 있습니까?
필자는 프로그래밍 방식으로이를 수행하는 방법을 알고 있으며, 동일한 기능을하는 내장 함수가 있는지 궁금해하고 있습니다. 코드 예제가 없으니 제발.array_intersect 맞은 편?

+5

비슷한 동작을하는 기능을 찾으려면 http : // www에서이 질문과 마찬가지로 '관련 항목'섹션의 해당 기능에 대한 매뉴얼 페이지에서 찾을 수 있습니다. .php.net/manual/ko/function.array-intersect.php –

답변

46

array_diff의 경우와 비슷합니다.

다른 배열 중 어느 없는 배열 1의 모든 항목을 포함 배열을 반환.

28

array_diff 확실히 확실한 선택이지만 기술적으로 배열 interesect의 반대가 아닙니다. 당신이 원하는 것은 '토끼'과의 '새'하지만 당신이 얻을 수있는 결과는

$arr1 = array('rabbit','cat','dog'); 

$arr2 = array('cat','dog','bird'); 

print_r(array_diff($arr1, $arr2)); 

는 (첫 번째 배열에 있지만 두 번째되지 무엇을 찾고 있기 때문에 단지 토끼입니다 :이 예제를 가지고 반대가 아닙니다. 진정으로 결과를 얻기 위해 당신은 당신이 이런 식으로 뭔가를해야합니다 :

$arr1 = array('rabbit','cat','dog'); 

$arr2 = array('cat','dog','bird'); 

$diff1 = array_diff($arr1, $arr2); 
$diff2 = array_diff($arr2, $arr1); 
print_r(array_merge($diff1, $diff2)); 

참고 :이 방법은 숫자 키 배열에서 작동합니다.

+1

고마워요. 제가 찾고있는 것이고, 이것은 해결책으로서의 마크가되어야합니다. – artSir

관련 문제