현재 위치: > 최신 기사 목록> Array_Diff_Key ()를 사용하여 "뺄셈"작업을 구현하십시오

Array_Diff_Key ()를 사용하여 "뺄셈"작업을 구현하십시오

M66 2025-06-06

PHP에서 array_diff_key () 함수는 배열에서 지정된 키 값 쌍을 제거 할 수있는 매우 유용한 배열 기능입니다. 이 함수는 첫 번째 배열에서는 키 값 쌍을 포함하지만 두 번째 배열에는 있지 않은 두 배열의 키를 비교하여 배열을 반환합니다.

기능 프로토 타입

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

매개 변수 설명

  • $ array1 : "subtraction"작업을 수행하는 배열.

  • $ array2 : 제외 해야하는 배열은 $ array2 와 동일한 키를 가진 $ array1 의 요소를 제거합니다.

  • ... $ 배열 : 여러 배열에서 키를 추가로 제외하기 위해 여러 배열을 전달할 수 있습니다.

반환 값

이 함수는 $ array1 의 요소를 포함하는 새로운 배열을 반환하며, 키는 $ array2 또는 기타 배열로 존재하지 않습니다.

예 : 원치 않는 키 값 쌍을 제거하십시오

원치 않는 키 값 쌍을 제거하려는 다음 배열이 있다고 가정합니다.

 $array1 = [
    'name' => 'John',
    'age' => 25,
    'city' => 'New York',
    'country' => 'USA'
];

$array2 = [
    'age' => 0,
    'city' => ''
];

// 사용 array_diff_key 배열을 제거하십시오 $array1 사내 'age' 그리고 'city' 키 값 쌍
$result = array_diff_key($array1, $array2);

print_r($result);

산출:

 Array
(
    [name] => John
    [country] => USA
)

이 예에서는 $ array1 에서 array_diff_key () 함수를 통해 'Age''City' 키를 제거합니다. 이 기능은 $ array1$ array2 의 키를 비교하고 $ array2 가 아닌 $ array1 의 키만 비교합니다.

여러 배열의 비교

Array_Diff_Key () 함수는 여러 배열을 매개 변수로 지원합니다. 다음은 여러 배열을 사용하여 키 값 쌍을 제거하는 방법을 보여주는 예입니다.

 $array1 = [
    'name' => 'Alice',
    'age' => 30,
    'gender' => 'female',
    'email' => 'alice@m66.net'
];

$array2 = [
    'age' => 0,
    'gender' => ''
];

$array3 = [
    'email' => ''
];

// 사용 array_diff_key 去除多个数组사내键
$result = array_diff_key($array1, $array2, $array3);

print_r($result);

산출:

 Array
(
    [name] => Alice
)

이 예에서는 $ array1 에서 'Age' , 'Gender''이메일' 키를 동시에 제거합니다. 함수는 $ array1 의 키가 $ array2$ array3 인지 확인하고, 그렇다면 키 값 쌍이 제거됩니다.

주목해야 할 것

  1. Array Key 일관성을 유지하십시오 : Array_Diff_Key ()는 값에 관계없이 배열의 키 만 비교합니다. 값을 비교 해야하는 경우 Array_Diff () 또는 Array_Diff_Assoc ()를 사용할 수 있습니다.

  2. 빈 배열 처리 : 전달 된 배열이 비어있는 경우 비교할 수있는 요소가 없으므로 원래 배열로 돌아갑니다.

  3. 다차원 배열 : array_diff_key () 함수는 배열의 첫 번째 레이어 키 만 비교합니다. 배열이 다차원 배열 인 경우 array_diff_key ()를 레이어별로 적용해야합니다.

결론

array_diff_key () 함수를 통해 PHP는 불필요한 키 값 쌍을 제거하기위한 배열을 "삭도"하는 간결하고 효율적인 방법을 제공합니다. 이 기능을 사용하여 배열의 세밀한 제어를하고 불필요한 요소를 제거하며 코드를보다 간결하고 유지 관리 할 수 ​​있습니다.