현재 위치: > 최신 기사 목록> Array_intersect_key와 array_diff_key의 차이점은 무엇입니까? 한 기사에서 둘의 차이점을 이해하십시오

Array_intersect_key와 array_diff_key의 차이점은 무엇입니까? 한 기사에서 둘의 차이점을 이해하십시오

gitbox 2025-06-09

php에서 array_intersect_keyarray_diff_key 는 배열의 주요 이름을 비교하는 데 사용되는 배열 처리 기능이지만 동작과 목적이 다릅니다. 이 기사에서는 차이점에 대해 자세히 논의하고 실제 예제를 사용 하여이 두 기능의 사용 시나리오를 더 잘 이해할 수 있도록 도와줍니다.

1. array_intersect_key 함수 소개

Array_Intersect_key 함수는 모든 배열의 여러 배열에서 키 이름과 해당 값을 반환하는 데 사용됩니다. 즉, 여러 배열에 키 이름이 존재하는 모든 요소를 ​​포함하는 새로운 배열을 반환합니다.

기능 프로토 타입

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

  • $ array2 : 비교할 두 번째 배열.

  • $ 배열 : 비교를 위해 여러 배열을 선택할 수 있습니다.

샘플 코드

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

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

출력 결과

 Array
(
    [b] => 2
    [c] => 3
)

이 예에서 Array_Intersect_key는 $ array1$ array2 에 존재하는 키 이름 BC 에 해당하는 값을 반환합니다. 따라서 반환 된 결과에는이 두 가지 키 이름의 값이 포함되어 있습니다.

2. array_diff_key 함수 소개

array_diff_key 함수는 첫 번째 배열에 포함되어 있지만 다른 배열에는없는 배열을 반환합니다. 그 목적은 다른 배열에도 존재하는 첫 번째 배열에서 키를 제거하는 것입니다.

기능 프로토 타입

 array array_diff_key(array $array1, array $array2, array ...$arrays)
  • $ array1 : 첫 번째 배열은 다른 배열과 비교됩니다.

  • $ array2 : 비교할 두 번째 배열.

  • $ 배열 : 비교를 위해 여러 배열을 선택할 수 있습니다.

샘플 코드

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

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

출력 결과

 Array
(
    [a] => 1
)

이 예에서는 array_diff_key가 $ array2 에 존재하지 않기 때문에 Key가 $ array1이름 이 지정된 요소를 반환합니다.

3. 주요 차이점

Array_intersect_keyArray_diff_key 의 주요 차이점은 다음과 같습니다.

  • Array_intersect_key는 모든 배열에 존재하는 키 값 쌍을 반환합니다.

  • Array_Diff_Key는 첫 번째 배열에 존재하지만 다른 배열에 있지 않은 키 값 쌍을 반환합니다.

예를 들어

세 가지 배열이 있다고 가정합니다.

 $array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['b' => 4, 'c' => 5, 'd' => 6];
$array3 = ['c' => 7, 'd' => 8];
  • C는 모든 배열에 존재하는 키이기 때문에 Array_intersect_key ($ array1, $ array2, $ array3)는 [ 'c'=> 3]을 반환합니다.

  • AB는 $ array2$ array3 가 아닌 $ array1에만 존재하기 때문에 Array_diff_key ($ array1, $ array2, $ array3)[ 'a'=> 1, 'b'=> 2] 를 반환합니다.

4. 요약

  • Array_intersect_key는 여러 배열에있는 키를 찾아이 키와 해당 값을 반환하는 데 사용됩니다.

  • Array_Diff_Key 는 첫 번째 배열에 있지만 후속 배열에는 있지 않은 키를 찾는 데 사용 되며이 키와 해당 값을 반환합니다.

이 두 기능은 배열 작업, 특히 키 이름을 기반으로 비교 및 ​​필터링이 필요한 시나리오에서 매우 유용합니다. 그들의 차이를 이해하면 PHP 배열을보다 효율적으로 처리하는 데 도움이 될 수 있습니다.