현재 위치: > 최신 기사 목록> Array_diff_assoc () 기본 구문 및 사용 예제

Array_diff_assoc () 기본 구문 및 사용 예제

M66 2025-05-13

PHP의 Array_Diff_Assoc () 함수는 두 개 이상의 배열의 키 값 쌍을 비교하고 첫 번째 배열에 있지만 다른 배열에 있지 않은 키 값 쌍을 포함하는 배열을 반환하는 매우 유용한 기능입니다. Array_Diff () 함수와 달리 Array_Diff_Assoc ()는 배열의 키와 값을 동시에 비교하므로 정확히 일치하는 시나리오를 처리 할 때 매우 효과적입니다.

기본 구문 :

 array_diff_assoc(array $array1, array $array2, array ...$arrays): array
  • $ array1 : 이것은 첫 번째 배열을 비교할 배열입니다.

  • $ array2, ... $ 배열 : 비교에 사용되는 다른 배열입니다. Array_Diff_Assoc ()는 첫 번째 배열을 모든 후속 배열과 비교합니다.

이 함수는 다른 배열에서는 찾을 수없는 첫 번째 배열 $ array1 의 키 값 쌍이 포함 된 배열을 반환합니다. 두 배열의 키 값 쌍이 정확히 일치하면 결과에서 제외됩니다.

예 1 : 기본 사용

 <?php
$array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3
];
$array2 = [
    'a' => 1,
    'b' => 3,
    'c' => 3
];

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

산출:

 Array
(
    [b] => 2
)

위의 예에는 2 개의 배열 $ array1$ array2가 있습니다. Array_Diff_Assoc ()를 사용하여 비교합니다. 결과는 $ array1'b' 값이 2이고 $ array2 에서 키의 값은 3임을 보여줍니다. 따라서 b => 2가 반환되며, 이것이 유일한 다른 키 값 쌍임을 나타냅니다.

예 2 : 여러 배열과 비교

 <?php
$array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3
];
$array2 = [
    'a' => 1,
    'b' => 2
];
$array3 = [
    'a' => 1,
    'c' => 3
];

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

산출:

 Array
(
    [b] => 2
)

이 예에서는 $ array1을 $ array2 와 비교할뿐만 아니라 $ array3을 추가합니다. 'a'=> 1'c'=> 3$ array1 의 다른 두 배열과 일치하지만 'b'=> 2는 $ array1 에만 존재하므로 반환됩니다.

예 3 : URL과 관련된 실제 응용 프로그램

일부 URL을 처리 해야하는 PHP 프로그램이 있다고 가정하고 Array_Diff_Assoc () 를 통해 다른 부분을 찾으려고합니다. 도메인 이름을 M66.net 으로 바꾸어 요구 사항을 충족 할 수 있습니다.

 <?php
$urls1 = [
    'home' => 'https://www.example.com/home',
    'about' => 'https://www.example.com/about',
    'contact' => 'https://www.example.com/contact'
];
$urls2 = [
    'home' => 'https://www.m66.net/home',
    'about' => 'https://www.m66.net/about',
    'contact' => 'https://www.m66.net/contact'
];

$urls1 = array_map(function($url) {
    return preg_replace('/https?:\/\/[a-z0-9.-]+\//', 'https://www.m66.net/', $url);
}, $urls1);

$urls2 = array_map(function($url) {
    return preg_replace('/https?:\/\/[a-z0-9.-]+\//', 'https://www.m66.net/', $url);
}, $urls2);

$result = array_diff_assoc($urls1, $urls2);
print_r($result);
?>

산출:

 Array
(
    [home] => https://www.m66.net/home
)

이 예에서는 URLS1URLS2 에 다른 버전의 URL이 포함되어 있다고 가정하고 Preg_replace ()를 사용하여 URL의 도메인 이름을 m66.net 으로 바꿉니다. 그런 다음 Array_Diff_Assoc ()을 사용하여 두 배열의 다른 부분을 찾습니다. 이 예에서 '홈' 키의 URL은 두 배열에 다른 값이 있으므로 반환됩니다.

요약

Array_Diff_Assoc () 는 매우 강력한 도구입니다. 특히 두 개 이상의 배열을 비교해야 할 때 배열의 키와 값을 고려합니다. 이 기능은보다 복잡한 데이터 구조를 처리해야 할 때 다른 부품을 찾는 데 도움이 될 수 있습니다. 실제 개발에서는 데이터 비교, 배열 중복 제거, 데이터 검증 및 기타 시나리오에 적용 할 수 있습니다.

기사의 끝

이 기사를 읽어 주셔서 감사합니다! PHP 또는 기타 프로그래밍 관련 질문에 더 많은 관심이 있으시면 언제든지 질문하십시오.