php에서 array_diff_ukey ()는 두 배열의 키 이름을 비교하고 두 번째 배열에 있지 않은 첫 번째 배열에서 해당 키 이름을 반환하는 데 사용할 수있는 매우 유용한 기능입니다. 이 기능은 두 배열의 주요 이름의 차이점을 찾아야 할 때, 특히 키 이름이 더 복잡 할 때 사용자 정의 비교 함수를 통해이를 판단 할 수 있습니다.
array_diff_ukey () 함수의 프로토 타입은 다음과 같습니다.
array array_diff_ukey ( array $array1 , array $array2 , callable $key_compare_func )
$ array1 : 첫 번째 배열을 비교합니다.
$ array2 : 두 번째 배열은 첫 번째 배열과 비교됩니다.
$ key_compare_func : 두 가지 키 이름을 비교하기위한 사용자 정의 비교 함수. 이 함수는 두 개의 키 이름을 매개 변수로 취하며 비교 결과를 나타내는 정수를 반환해야합니다.
array_diff_ukey () 함수를 사용하는 방법을 보여주기 위해 특정 예제를 살펴 보겠습니다. 두 배열 사이의 키 이름 차이를 찾으십시오.
<?php
// 두 배열을 정의합니다
$array1 = [
'apple' => 1,
'banana' => 2,
'cherry' => 3,
];
$array2 = [
'banana' => 4,
'date' => 5,
'fig' => 6,
];
// 사용자 정의 비교 기능
function key_compare_func($key1, $key2) {
// 키 이름이 동일한지 직접 비교하십시오
return strcmp($key1, $key2);
}
// 사용 array_diff_ukey() 두 배열의 주요 이름 비교
$result = array_diff_ukey($array1, $array2, 'key_compare_func');
// 출력 결과
print_r($result);
?>
Array
(
[apple] => 1
[cherry] => 3
)
위의 예에는 $ array1 과 $ array2 가 있는데, 여기서 $ array1 에는 'Apple' , 'Banana' 및 'Cherry' 가 포함되어 있으며 $ array2에는 'Banana' , 'Date' 및 'Fig' 가 포함되어 있습니다. array_diff_ukey ()를 호출하면 사용자 정의 비교 함수 key_compare_func을 전달합니다. 마지막으로,이 함수는 $ array1 에 주요 이름 'Apple' 및 'Cherry' 가 포함 된 새로운 배열을 반환합니다.이 두 가지 키 이름은 $ array2 에 표시되지 않기 때문입니다.
Array_diff_ukey () 의 힘은 사용자 정의 비교 함수를 지원한다는 것입니다. 이것은 간단한 키 이름 비교를 수행 할 수있을뿐만 아니라 우리 자신의 요구에 따라 복잡한 비교 논리를 작성할 수 있음을 의미합니다. 예를 들어, 키 이름의 사례 차이를 무시 해야하는 경우 비교 함수에서이를 수행 할 수 있습니다.
<?php
// 두 배열을 정의합니다
$array1 = [
'Apple' => 1,
'banana' => 2,
'cherry' => 3,
];
$array2 = [
'apple' => 4,
'Date' => 5,
'fig' => 6,
];
// 사용자 정의 비교 기능,사건을 무시하십시오
function case_insensitive_key_compare_func($key1, $key2) {
return strcasecmp($key1, $key2);
}
// 사용 array_diff_ukey() 두 배열의 주요 이름 비교
$result = array_diff_ukey($array1, $array2, 'case_insensitive_key_compare_func');
// 출력 결과
print_r($result);
?>
Array
(
[banana] => 2
[cherry] => 3
)
이 예에서 $ array1 의 'Apple' 및 $ array2 의 'Apple' 키 이름의 'Apple'은 비교를 위해 strcasecmp 함수를 사용하기 때문에 PHP는 사례 차이를 무시하고 동일한 키 이름으로 간주합니다. 따라서 최종 결과는 'Apple'이 $ array2 에서 발견 된 것으로 간주되기 때문에 두 가지 주요 이름 'Banana' 와 'Cherry' 만 반환합니다.
array_diff_ukey () 함수를 사용하면 두 배열 사이의 키 이름 차이를 쉽게 찾을 수 있습니다. 이 기능은 매우 강력하고 사용자 정의 비교 로직을 지원하므로 다양한 복잡한 비교 요구에 대처할 수 있습니다. 간단한 키 이름 비교이든 상류 및 소문자를 무시 해야하는 비교 여부에 관계없이 Array_diff_ukey ()를 쉽게 처리 할 수 있습니다.