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 인지 확인하고, 그렇다면 키 값 쌍이 제거됩니다.
Array Key 일관성을 유지하십시오 : Array_Diff_Key ()는 값에 관계없이 배열의 키 만 비교합니다. 값을 비교 해야하는 경우 Array_Diff () 또는 Array_Diff_Assoc ()를 사용할 수 있습니다.
빈 배열 처리 : 전달 된 배열이 비어있는 경우 비교할 수있는 요소가 없으므로 원래 배열로 돌아갑니다.
다차원 배열 : array_diff_key () 함수는 배열의 첫 번째 레이어 키 만 비교합니다. 배열이 다차원 배열 인 경우 array_diff_key ()를 레이어별로 적용해야합니다.
array_diff_key () 함수를 통해 PHP는 불필요한 키 값 쌍을 제거하기위한 배열을 "삭도"하는 간결하고 효율적인 방법을 제공합니다. 이 기능을 사용하여 배열의 세밀한 제어를하고 불필요한 요소를 제거하며 코드를보다 간결하고 유지 관리 할 수 있습니다.