Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP array_diff_key() 함수 – 배열 키를 비교해 차이점 구하는 방법

PHP의 array_diff_key() 함수는 여러 배열의 키(key)를 서로 비교한 뒤, 그 차이점을 배열 형태로 반환합니다. 즉, 첫 번째 배열에는 존재하지만 다른 배열들의 키에는 없는 요소들만 모아서 새로운 배열로 돌려줍니다.

이 함수는 값(value)이 아니라 오직 키를 기준으로 비교한다는 점에서 array_diff()와 차별화됩니다. 따라서 연관 배열에서 특정 키가 다른 배열과 겹치는지 확인할 때 유용하게 사용됩니다.

문법(Syntax)

array_diff_key(arr1, arr2, arr3, arr4, ...)

매개변수(Parameters)

  • arr1 − 비교의 기준이 되는 배열입니다. 필수 항목입니다.

  • arr2 − 기준 배열과 비교할 대상 배열입니다. 필수 항목입니다.

  • arr3 − 추가로 비교할 배열을 지정할 수 있습니다. 선택 사항입니다.

  • arr4 − 그 이상의 추가 배열도 필요한 만큼 지정할 수 있습니다. 선택 사항입니다.

반환값(Return)

array_diff_key() 함수는 첫 번째 배열의 요소 중, 나머지 어떤 배열에도 해당 키가 존재하지 않는 항목들만 담은 배열을 반환합니다.

사용 예제(Example)

<?php
   $arr1 = array('car' => 10, 'bus' => 15, 'truck' => 22);
   $arr2 = array('motorbike' => 35, 'bus' => 42);
   $res = array_diff_key($arr1, $arr2);
   print_r($res);
?>

실행 결과(Output)

Array
(
   [car] => 10
   [truck] => 22
)

위 예제를 보면, 두 배열 모두 'bus'라는 키를 가지고 있기 때문에 결과 배열에서 제외되었습니다. 반면 'car''truck'은 첫 번째 배열에만 존재하는 키이므로 그대로 남게 됩니다. 이처럼 array_diff_key()는 값과 무관하게 키의 존재 여부만으로 차집합을 계산합니다.