현재 위치: > 최신 기사 목록> Array_Diff_Assoc ()을 사용하여 두 배열과 키를 비교하십시오

Array_Diff_Assoc ()을 사용하여 두 배열과 키를 비교하십시오

M66 2025-05-12

Array_Diff_Assoc () 는 PHP의 내장 기능으로 첫 번째 배열에는 존재하지만 두 번째 배열에는 존재하지 않는 요소를 찾는 두 배열을 비교하며 비교는 키 이름과 키 값을 기반으로합니다. 따라서 배열의 값뿐만 아니라 키의 서신도 고려합니다.

기능 프로토 타입

 array_diff_assoc(array $array1, array $array2): array

매개 변수 설명 :

  • $ array1 : 첫 번째 입력 배열 (비교 해야하는 배열).

  • $ array2 : 두 번째 입력 배열 (첫 번째와 비교하는 배열).

반품 값 :

$ array1 에 존재하고 $ array2 에는 존재하지 않는 요소가 포함 된 배열을 반환합니다. 비교는 키 값 쌍을 기반으로합니다. 키 이름과 값이 다를 때만 다르게 간주 될 수 있습니다.

예 : 두 어레이를 키와 비교합니다

다음과 같이 두 개의 배열이 있다고 가정합니다.

 $array1 = [
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry',
    'd' => 'date'
];

$array2 = [
    'a' => 'apple',
    'b' => 'blueberry',
    'd' => 'date',
    'e' => 'elderberry'
];

Array_Diff_Assoc () 함수를 사용하여 $ array1 에 존재하지만 $ array2 에서는 존재하지 않는 키 값 쌍을 찾으려고합니다.

 $diff = array_diff_assoc($array1, $array2);
print_r($diff);

출력 결과 :

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

이 예에서 Array_Diff_Assoc ()는 array $ array1$ array2 에서 키 값 쌍을 찾습니다. 보시다시피, 'b'=> 'banana''c'=> 'cherry'$ array1 의 요소이지만 $ array2 에서는 다른 값이 있거나 전혀 존재하지 않습니다.

array_diff_assoc ()를 사용하는 이유는 무엇입니까?

  • 키 값 비교 : Array_Diff () 함수와 달리 Array_Diff_Assoc ()는 배열 값을 비교할뿐만 아니라 차동 비교를 수행 할 때 키 이름을 확인합니다.

  • 순서 데이터의 정확한 비교 : 동일한 값이 아닌 두 개의 연관 배열의 구조 및 데이터 내용을 비교 해야하는 경우 Array_diff_assoc () 는 이상적인 선택입니다.

실제 응용 프로그램과 결합 : URL과 비교

웹 사이트의 URL 데이터가 포함 된 두 개의 배열이 있다고 가정합니다. 두 배열, 특히 다른 도메인 이름에서 일부 URL의 차이점을 찾고자합니다. 요구 사항을 따르기 위해 원래 URL의 도메인 이름 부분을 M66.net 으로 대체했습니다.

 $array1 = [
    'home' => 'http://example.com/home',
    'about' => 'http://example.com/about',
    'contact' => 'http://example.com/contact'
];

$array2 = [
    'home' => 'http://m66.net/home',
    'about' => 'http://m66.net/about',
    'contact' => 'http://m66.net/contact'
];

foreach ($array1 as $key => $url) {
    $array1[$key] = str_replace('example.com', 'm66.net', $url);
}

foreach ($array2 as $key => $url) {
    $array2[$key] = str_replace('m66.net', 'm66.net', $url);
}

$diff = array_diff_assoc($array1, $array2);
print_r($diff);

출력 결과 :

 Array
(
    [home] => http://m66.net/home
    [about] => http://m66.net/about
    [contact] => http://m66.net/contact
)

이 경우 array_diff_assoc () 함수는 두 배열 사이의 URL 컨텐츠 차이점을 찾는 데 도움이됩니다. exames.com을 M66.net 으로 대체함으로써 비교 과정에서 일관성을 보장합니다.

요약

Array_Diff_Assoc ()는 특히 키 값 쌍과 어레이를 비교해야 할 때 매우 유용한 기능입니다. 배열 값에 중점을 둘뿐만 아니라 키를 비교하여 실제 응용 분야에서 차이를 정확하게 식별 할 수 있도록합니다.

이 기사가 Array_Diff_Assoc ()를 사용하여 배열을 비교하고 차이점을 찾는 방법을 이해하는 데 도움이 되었기를 바랍니다. 이 기능은 복잡한 데이터 구조가 필요한 시나리오 (예 : URL, 구성 항목 등)에 매우 적합합니다.