array_intergect의 반대?
어레이 2에 없는 어레이 1의 모든 멤버를 얻을 수 있는 기능이 내장되어 있습니까?
프로그램적으로 할 줄 아는데, 같은 기능을 하는 내장 기능이 있는지 궁금할 뿐입니다.그러니 제발, 코드 예시는 없습니다.
그건 일처럼 들리네요.
다른 어레이에 없는 array1의 모든 항목을 포함하는 어레이를 반환합니다.
array_diff는 분명히 명백한 선택이지만 array interect와는 엄밀히 반대는 아닙니다.예를 들어 다음과 같습니다.
$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) );
참고: 이 방법은 숫자 키가 있는 배열에서만 작동합니다.
$diff = array_diff($array1, $array2);
이 질문에 대해 자세히 설명하자면, @Jon과 @Dallas Caley의 답변은 모두 어레이의 도메인에 따라 다릅니다.
비교하는 것과 비교하는 배열이 결과의 전체 도메인이라면 @Jon 답변과 같이 array_diff로 충분합니다.
비교 대상이 결과의 전체 도메인이 아닌 경우 @Dallas Caley 답변과 같이 double array_diff로 진행해야 합니다.
언급URL : https://stackoverflow.com/questions/5582242/opposite-of-array-intersect
'programing' 카테고리의 다른 글
C 여러 개의 단선 선언 (0) | 2023.11.05 |
---|---|
C++의 NULL이 일반적으로 C와 같은 포인터가 아닌 정수 리터럴인 이유는 무엇입니까? (0) | 2023.11.05 |
독트린 2를 사용하여 테이블을 자르는 방법? (0) | 2023.11.05 |
ES6/7에서 Arrow 기능을 내보낼 수 있습니까? (0) | 2023.11.05 |
자식 요소를 끌 때 부모 요소 화재의 'drag 이탈' (0) | 2023.11.05 |