현재 위치: > 최신 기사 목록> PHP의 array_diff_key () 함수는 무엇입니까?

PHP의 array_diff_key () 함수는 무엇입니까?

M66 2025-05-17

PHP에서 array_diff_key () 함수는 두 배열 사이의 키 이름 (키)의 차이를 비교하는 데 사용됩니다. 그 목적은 첫 번째 배열에서 두 번째 배열의 키 값 (키)과 다른 요소를 반환하는 것입니다. 두 번째 배열에 키가 존재하는 경우 키에 해당하는 요소는 제외됩니다.

이 기능의 주요 응용 프로그램 시나리오는 여러 개의 연관 배열을 처리 할 때 어떤 키가 존재하지만 다른 배열에 누락 된 지 알아야한다는 것입니다. 특히 데이터 필터링 또는 병합을 수행 할 때 Array_Diff_Key () 는 매우 유용한 도구입니다.

함수 구문

 array_diff_key(array $array1, array $array2, array ...$arrays): array

매개 변수 설명 :

  • $ array1 : 비교에 사용되는 첫 번째 배열.

  • $ array2 : 비교를위한 두 번째 배열.

  • $ 배열 : 비교를 위해 여러 배열로 전달할 수 있습니다.

반품 값 :

  • $ array1 에 존재하지만 $ array2 에 누락 된 모든 키 값 쌍이 포함 된 새 배열을 반환합니다.

예 : Array_Diff_Key () 사용 방법

$ array1$ array2 두 개의 배열이 있고 $ array1 에 존재하지만 $ array2 에 어떤 키가 있는지 알아 보려고한다고 가정합니다.

 <?php
$array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3,
    "d" => 4
];

$array2 = [
    "b" => 2,
    "c" => 3
];

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

산출:

 Array
(
    [a] => 1
    [d] => 4
)

이 예에서는 array_diff_key () 함수는 $ array2 에 나타나지 않기 때문에 Keys AD를 $ array1 에서 반환합니다.

대부분의 배열 비교

여러 배열을 동시에 비교하려면 여러 배열을 매개 변수로 전달할 수 있습니다.

 <?php
$array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3,
    "d" => 4
];

$array2 = [
    "b" => 2,
    "c" => 3
];

$array3 = [
    "a" => 1,
    "d" => 4
];

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

산출:

 Array
(
    [a] => 1
)

이 예에서는 Array_Diff_Key ()가 3 개의 배열을 비교하고 다른 두 배열에는 존재하지 않기 때문에 값 쌍 만 반환합니다.

일반적인 응용 프로그램 시나리오

Array_diff_key ()는 다음 시나리오에서 일반적으로 사용됩니다.

  1. 데이터 필터링 : 예를 들어, 사용자 데이터를 처리 할 때 사전 설정 구성에 존재하지 않는 필드를 찾으려면이 기능을 사용하여 필터링 할 수 있습니다.

  2. 비교 구성 파일 :이 기능은 다른 버전의 구성 배열을 비교하여 제거 또는 수정 된 구성 항목을 찾을 수 있습니다.

  3. 다차원 배열의 주요 차이를 다루기 : 배열이 다차원 배열 인 경우 Array_Map () 와 같은 함수를 결합하여보다 복잡한 작업을 수행하여 다른 키 값 쌍을 찾을 수 있습니다.

주목해야 할 것

  • array_diff_key ()는 키 값이 아니라 배열의 주요 이름을 비교합니다. 배열의 값 차이를 비교 해야하는 경우 Array_Diff ()를 사용할 수 있습니다.

  • 이 함수는 $ array1 의 키 이름과 키 값을 보존합니다. 키 값 쌍 대신 배열 값을 유지하려면 다른 메소드 ( Array_Values ​​() 와 같은)를 사용하여 최종 결과를 얻으십시오.

요약

Array_Diff_Key () 는 매우 유용한 기능이며 특히 배열의 주요 차이를 비교하는 데 적합합니다. 이 기능을 통해 다른 배열에서는 배열의 어떤 키를 사용할 수 없는지 쉽게 알 수 있으므로 데이터를 필터링하고 처리 할 수 ​​있습니다. 실제 개발에서는 데이터 검증, 구성 파일 비교 및 ​​배열의 ​​차별화 된 작업에 널리 사용됩니다.