현재 위치: > 최신 기사 목록> Array_Diff ()를 사용하여 두 배열의 차이를 비교하는 방법은 무엇입니까?

Array_Diff ()를 사용하여 두 배열의 차이를 비교하는 방법은 무엇입니까?

M66 2025-05-17

PHP에서 array_diff () 함수는 둘 이상의 배열을 비교하고 첫 번째 배열 중 하나에 포함 된 모든 값을 반환하는 데 사용되지만 다른 배열에는 그렇지 않습니다. 간단히 말해서 Array_diff ()는 두 배열 사이에서 다른 요소를 찾는 데 도움이 될 수 있습니다.

array_diff () 의 기본 사용

기능 프로토 타입

 array_diff(array $array1, array $array2, array ...$arrays): array

매개 변수 설명

  • $ array1 : 벤치 마크 배열로서 첫 번째 배열.

  • $ array2, ... $ 배열 : 첫 번째 배열과 비교할 하나 이상의 배열.

반환 값

Array_Diff ()는 $ array1 에 포함 된 새로운 요소 배열을 반환하지만 다른 인수 배열에는 없습니다. 다시 말해, 첫 번째 배열과 나머지 배열의 차이가 반환됩니다.

샘플 코드

 <?php
$array1 = ["apple", "banana", "cherry", "date"];
$array2 = ["banana", "date", "elderberry"];

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

print_r($result);
?>

산출

 Array
(
    [0] => apple
    [2] => cherry
)

설명하다

위의 예에서 $ array1에는 "Apple", "Banana", "Cherry"및 "Date"및 $ array2 의 네 가지 요소가 포함되어 있습니다. "Banana", "Date"및 "Elderberry"의 세 가지 요소가 포함되어 있습니다. array_diff ($ array1, $ array2) 에 의해 $ array1 에서 요소를 찾을 수 있지만 $ array2 에서는 찾을 수 없습니다. 이 예에서 결과는 [ "Apple", "Cherry"] 입니다.

Array_Diff ()는 여러 배열을 처리합니다

Array_Diff ()는 여러 배열을 처리 할 수도 있습니다. 여러 배열이 전달되면 첫 번째 배열과 다른 모든 배열의 차이를 계산합니다.

샘플 코드

 <?php
$array1 = ["apple", "banana", "cherry"];
$array2 = ["banana", "cherry", "date"];
$array3 = ["cherry", "date", "elderberry"];

$result = array_diff($array1, $array2, $array3);

print_r($result);
?>

산출

 Array
(
    [0] => apple
)

설명하다

이 예에서 $ array1 에는 "Apple", "Banana", "Cherry", $ array2 에는 "Banana", "Cherry", "Date"및 $ array3 가 포함되어 있습니다. 끝은 [ "Apple"] 입니다. 왜냐하면 그것은 다른 배열이 아닌 $ array1 에 존재하는 유일한 요소이기 때문입니다.

Array_Diff ()를 사용하여 두 배열의 다른 값을 찾으십시오

일반적으로 두 배열 사이에 다른 요소를 찾아야 할 수도 있으며 Array_Diff ()는 이를 구현하기에 이상적인 도구입니다. 두 개의 배열이 있다고 가정 해 봅시다. 하나는 데이터베이스에서 얻은 데이터이고 다른 하나는 API 인터페이스를 통해 얻은 데이터이며,이 두 데이터 소스의 다른 부분을 찾고자합니다.

예 : 두 배열의 차이점을 찾으십시오

 <?php
$dbData = ["apple", "banana", "cherry", "date"];
$apiData = ["banana", "cherry", "elderberry", "fig"];

$diff = array_diff($dbData, $apiData);

print_r($diff);
?>

산출

 Array
(
    [0] => apple
    [3] => date
)

설명하다

이 예에는 $ dbdata$ apidata의 두 배열이 있습니다. Array_Diff () 를 통해 DBDATA 에는 존재하지만 Apidata 에서는 그렇지 않은 요소를 찾을 수 있습니다. 최종 출력은 [ "Apple", "Date"] 입니다.

실제 응용 시나리오

  1. 데이터 비교 : Array_Diff ()를 사용하여 데이터베이스의 기존 데이터와 API가 반환 한 데이터의 차이를 찾을 수 있습니다. 예를 들어, 로컬 및 원격 제품 재고 데이터를 비교하여 새 또는 누락 된 제품을 찾으십시오.

  2. 중복 제거 : 기존 배열로 차이 세트 작업을 통해 중복 데이터를 제거하여 데이터의 일관성을 보장 할 수 있습니다.

  3. 업데이트 작업 : 다른 소스에서 데이터를 가져 와서 새 또는 삭제 된 항목을 찾아야하는 경우 Array_Diff ()는 판단하기에 매우 편리 할 수 ​​있습니다.

결론

Array_Diff () 는 PHP에서 매우 유용한 기능으로 두 배열 또는 다중 어레이의 비교이든 배열 간의 차이를 쉽게 찾을 수 있습니다. Array_Diff ()를 합리적으로 사용하면 데이터 비교, 중복 제거 및 업데이트와 같은 작업을 효과적으로 처리 할 수 ​​있습니다.