>  기사  >  백엔드 개발  >  PHP의 두 배열에서 동일한 값을 제거하는 방법

PHP의 두 배열에서 동일한 값을 제거하는 방법

PHPz
PHPz원래의
2023-04-27 09:11:461287검색

배열 작업 중에 때로는 두 배열에서 동일한 요소를 제거하는 상황이 발생할 수 있습니다. PHP에서 이를 달성하는 방법에는 여러 가지가 있습니다. 세 가지 다른 방법이 아래에 설명되어 있습니다.

방법 1: 배열 함수 array_diff() 사용

PHP의 array_diff() 함수는 두 개 이상의 배열 사이의 차이를 계산하는 데 사용할 수 있습니다. 즉, 첫 번째 배열에 값이 나타나지만 새 배열을 반환합니다. 다른 배열에는 나타나지 않는 요소입니다. 따라서 array_diff()를 사용하여 서로 다른 두 배열의 요소, 즉 동일한 요소의 보수를 찾을 수 있습니다.

샘플 코드:

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 5, 7, 9, 11];
$result = array_merge(array_diff($array1, $array2), array_diff($array2, $array1));
print_r($result);

출력 결과:

Array
(
    [0] => 1
    [1] => 2
    [2] => 4
    [3] => 7
    [4] => 9
    [5] => 11
)

위 코드는 먼저 array_diff() 함수를 사용하여 두 입력 배열의 보수를 찾은 다음 이를 새로운 배열, 즉 모든 다른 요소로 병합합니다. .

방법 2: 루프 순회 사용

루프 순회를 사용하여 두 배열의 동일한 요소를 삭제할 수도 있습니다. 이 방법을 구현하려면 먼저 배열을 반복한 다음 다른 배열에서 동일한 요소를 찾아 배열에서 삭제해야 합니다.

샘플 코드:

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 5, 7, 9, 11];

foreach ($array1 as $key => $value) {
    if (in_array($value, $array2)) {
        unset($array1[$key]);
        unset($array2[array_search($value, $array2)]);
    }
}

$result = array_merge($array1, $array2);

print_r($result);

출력 결과:

Array
(
    [0] => 1
    [1] => 2
    [2] => 4
    [3] => 7
    [4] => 9
    [5] => 11
)

위 코드는 먼저 $array1의 요소를 반복한 다음 $array2에서 동일한 요소를 찾아서 제거합니다. 마지막으로 두 배열을 새 배열로 병합합니다.

방법 3: 배열 함수 array_intersect() 사용

또 다른 방법은 두 개 이상의 배열의 교집합, 즉 모든 입력 배열에 포함된 요소를 반환하는 PHP의 array_intersect() 함수를 사용하는 것입니다. 위의 첫 번째 방법과 유사하게 이 방법도 두 배열에서 동일한 요소를 찾은 다음 이를 새 배열로 결합합니다.

샘플 코드:

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 5, 7, 9, 11];

$result = array_intersect($array1, $array2);

print_r($result);

출력 결과:

Array
(
    [2] => 3
    [4] => 5
)

위 코드는 array_intersect() 함수를 직접 사용하여 $array1과 $array2에서 동일한 요소, 즉 3과 5를 찾습니다.

이러한 방법 중에서 array_diff()를 사용한 코드는 모든 작업을 한 번에 완료할 수 있기 때문에 가장 간결하고 효율적입니다. 루프 순회를 사용하는 방법은 간단하고 이해하기 쉽지만 약간 복잡하고 시간이 많이 걸릴 수도 있습니다. 마지막으로 array_intersect() 메서드를 사용할 때 주의할 점이 있습니다. 두 배열의 차이가 아닌 동일한 요소만 반환하므로 모든 경우에 적합하지는 않습니다.

위 내용은 PHP의 두 배열에서 동일한 값을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.