현재 위치: > 최신 기사 목록> 다중 배열 비교 동시에 : Array_Diff_Assoc () 다중 매개 변수 사용 기술

다중 배열 비교 동시에 : Array_Diff_Assoc () 다중 매개 변수 사용 기술

M66 2025-06-06

Array_Diff_Assoc () 는 PHP에서 매우 유용한 기능입니다. 두 배열의 값을 비교할뿐만 아니라 키 이름 (키 값 쌍)도 비교합니다. 이 기능을 통해 개발자는 두 개 이상의 배열 사이의 주요 이름과 값의 차이를 쉽게 찾을 수 있으며 데이터 비교 및 ​​차이 분석과 같은 시나리오에서 종종 사용됩니다.

이 기사에서는 array_diff_assoc () 함수로 뛰어 들어 여러 인스턴스를 통해 여러 배열을 비교하는 방법을 설명합니다. 특히 여러 배열이 관련 될 때이 기능을 사용하여 차이를보다 효율적으로 찾는 방법.

array_diff_assoc () 의 기본 사용

먼저 Array_diff_assoc () 의 기본 사용법을 검토해 봅시다. 이 함수는 둘 이상의 배열 매개 변수를 사용하고 첫 번째 배열에 포함 된 키 값 쌍의 배열을 반환하지만 다른 배열에는 없습니다.

문법:

 array_diff_assoc(array $array1, array $array2, array ...$arrays): array
  • Array1 : 비교할 첫 번째 배열.

  • Array2 : 첫 번째 배열과 비교 해야하는 두 번째 배열.

  • 비교를 위해 여러 배열을 제공 할 수 있습니다. Array_Diff_Assoc ()는 Array1 에 포함되어 있지만 다른 배열에는 그렇지 않은 키 값 쌍을 반환합니다.

예:

 <?php
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("a" => "apple", "b" => "banana", "d" => "date");

$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

산출:

 Array
(
    [c] => cherry
)

이 간단한 예에서는 array_diff_assoc ()가 array1 [ "c"=> "cherry"] 에 고유 한 키 값 쌍 만 포함 된 배열을 반환합니다 .

여러 배열을 비교하는 방법

여러 배열을 동시에 비교하려면 Array_Diff_Assoc () 도 처리 할 수 ​​있습니다. 다중 배열을 전달한 후 PHP는 첫 번째 배열을 다른 모든 배열과 비교하고 반환 된 결과에는 첫 번째 배열에는 존재하지만 다른 배열에는없는 키 값 쌍 만 포함됩니다.

예:

 <?php
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("a" => "apple", "b" => "banana");
$array3 = array("a" => "apple", "d" => "date");

$result = array_diff_assoc($array1, $array2, $array3);
print_r($result);
?>

산출:

 Array
(
    [c] => cherry
    [b] => banana
)

이 예에서 Array_Diff_Assoc ()는 3 개의 배열을 비교하고 다른 두 배열에 있지 않은 array1 에 키 값 쌍이 포함 된 결과를 반환합니다. 특히 B 키는 두 번째 어레이에 존재하지만 그 값은 첫 번째 배열의 B 키 값과 일치하므로 바나나는 제외되어 체리 만 남습니다.

실제 적용 : 차이점을 찾으십시오

온라인 쇼핑 시스템을 개발하고 있으며 두 개의 제품 목록을 나타내는 두 개의 어레이가 있다고 가정합니다. 구식 목록과 새로운 목록의 차이점을 찾아 새로운 제품의 업데이트와 오래된 제품의 어떤 업데이트가 있는지 확인해야합니다.

예:

 <?php
$old_products = [
    "101" => "Apple iPhone 12",
    "102" => "Samsung Galaxy S20",
    "103" => "Huawei P40"
];

$new_products = [
    "101" => "Apple iPhone 13",
    "102" => "Samsung Galaxy S20",
    "104" => "Google Pixel 5"
];

// 새 목록에없는 제품 찾기
$discontinued_products = array_diff_assoc($old_products, $new_products);
print_r($discontinued_products);
?>

산출:

 Array
(
    [103] => Huawei P40
)

이 예에서는 array_diff_assoc () 함수는 중단 된 제품이 포함 된 배열을 반환합니다. 보시다시피, Huawei P40은 이전 제품 목록에 존재하지만 새로운 제품에서 사라지는 제품입니다.

URL 교체 응용 프로그램 시나리오

때로는 프로젝트에서 모든 도메인 이름을 Oldsite.com 에서 m66.net 으로 변경하는 등 배열에서 URL을 배치해야 할 수도 있습니다. Array_diff_assoc () 함수와 정규 표현식을 결합 하여이 상황을 신속하게 처리 할 수 ​​있습니다.

예:

 <?php
$links = [
    "homepage" => "https://oldsite.com/page1",
    "product" => "https://oldsite.com/product/xyz",
    "contact" => "https://oldsite.com/contact"
];

// 도메인 이름을 바꾸십시오
foreach ($links as $key => $url) {
    if (strpos($url, "oldsite.com") !== false) {
        $links[$key] = str_replace("oldsite.com", "m66.net", $url);
    }
}

print_r($links);
?>

산출:

 Array
(
    [homepage] => https://m66.net/page1
    [product] => https://m66.net/product/xyz
    [contact] => https://m66.net/contact
)

이러한 방식으로 배열의 모든 URL 도메인 이름을 교체 할 수 있습니다.

요약

이 기사를 통해 PHP에서 array_diff_assoc () 함수를 사용하여 여러 배열 간의 차이를 비교하는 방법을 이해합니다. 두 배열의 간단한 비교 또는 여러 배열과 관련된 복잡한 비교 여부에 관계없이 Array_Diff_Assoc ()는 효과적인 솔루션을 제공 할 수 있습니다. 특히 실제 개발 에서이 기능은 목록 비교, 데이터 차이 분석, URL 도메인 이름의 배치 교체 등과 같은 작업을 처리해야 할 때 매우 실용적인 도구입니다.