php에서 array_diff_uassoc () 는 사용자 정의 비교 함수를 기반으로 두 배열로 다른 키 이름을 가진 요소를 반환 할 수있는 매우 강력한 배열 함수입니다. 함수의 첫 번째 매개 변수는 일반적으로 메인 배열이라고하며, 이는 작업 전반에 걸쳐 매우 중요한 역할을합니다. 그렇다면 왜 첫 번째 배열 매개 변수가 array_diff_uassoc () 함수의 기본 배열로 중요한 역할을합니까?
array_diff_uassoc () 함수의 함수는 두 개 이상의 배열의 주요 값과 키 이름이 다른 리턴 요소를 비교하는 것입니다. 비교는 사용자가 제공 한 콜백 함수를 통해 수행됩니다. 함수 서명은 다음과 같습니다.
array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func ) : array
$ array1 : 메인 배열, 첫 번째 매개 변수는 비교할 배열입니다.
$ array2, ... : 비교할 다른 배열.
$ key_compare_func : 배열의 주요 이름을 비교하기위한 사용자 정의 비교 함수.
기본 배열의 벤치 마크 역할
Array_Diff_Uassoc () 의 첫 번째 매개 변수 (기본 배열)는 비교 프로세스에서 벤치 마크 역할을합니다. 함수를 실행할 때 기본 배열의 각 키 이름은 다른 배열의 키 이름과 비교됩니다. 궁극적으로, 기본 배열에 존재하지만 다른 배열에는 존재하지 않는 반환 된 키 값 쌍. 따라서 기본 배열은 결과의 내용을 결정합니다.
기본 배열은 반환 된 키 값 쌍을 결정합니다
비교 함수의 목적은 기본 배열에 존재하지만 다른 배열에서는 찾을 수없는 키 값 쌍을 반환하는 것입니다. 비교 결과에 관계없이, 기본 배열의 요소 만 최종 반환 결과에 나타납니다. 기본 배열의 요소가 다른 배열에서 동일한 키 이름을 갖고 비교 규칙을 준수하는 경우 결과에서 제외됩니다.
사용자 정의 비교 함수의 역할
사용자 정의 비교 함수 ( key_compare_func )는 키 이름을 비교하는 데 사용되며, 이는 두 배열의 주요 이름이 동일했는지 여부를 결정합니다. 이 비교 함수는 일반적으로 두 가지 매개 변수를 수신합니다 : 기본 배열의 키와 다른 배열의 키는 있습니다. 이 비교 함수를 통해 특정 규칙에 따라 키 이름이 동일한 지 판단 할 수 있습니다. 기본 배열의 각 키 이름은 다른 배열의 키 이름과 비교됩니다.
시퀀스 질문
또 다른 측면에 주목해야 할 또 다른 측면은 Array_diff_uassoc ()가 기본 배열의 순서를 비교하고 다른 배열의 키 이름을 가진 요소를 포함하는지 여부를 비교한다는 것입니다. 두 배열의 키 값 쌍이 같은 순서이지만 기본 배열의 키 이름이 다른 배열에서는 발견되지 않으면 여전히 다른 요소로 취급됩니다.
Array_diff_uassoc ()가 간단한 예제와 어떻게 작동하는지 보여 주겠습니다. 우리가 두 개의 배열이 있고 첫 번째 배열에는 존재하지만 두 번째 배열에서는 찾을 수없는 요소를 찾고 싶다고 가정합니다.
<?php
// 기본 배열과 다른 배열을 정의하십시오
$array1 = [
'a' => 1,
'b' => 2,
'c' => 3
];
$array2 = [
'a' => 1,
'b' => 4
];
// 사용자 정의 비교 기능:키 이름을 비교하는 데 사용됩니다
function compare_keys($key1, $key2) {
return strcmp($key1, $key2);
}
// 사용 array_diff_uassoc 배열을 비교하십시오
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
// 출력 결과
print_r($result);
?>
Array
(
[c] => 3
)
이 예에서 기본 배열 $ array1 에는 3 개의 키 값 쌍이 포함되어 있고 $ array2에는 두 개의 키 값 쌍이 있습니다. Array_diff_uassoc () 함수를 통해 $ array1 이지만 $ array2 에서는 키 값 쌍 'c'=> 3을 찾습니다. 보시다시피, 반환 된 배열에는 기본 배열에 존재하지만 다른 배열에서는 찾을 수없는 요소 만 있습니다.
일반적으로 array_diff_uassoc () 의 첫 번째 배열 매개 변수는 기본 배열로서 결정적인 역할을 수행하여 비교 결과의 내용을 결정합니다. 기본 배열의 키 이름을 다른 배열의 이름과 비교하면 궁극적 인 리턴은 기본 배열에 존재하지만 다른 배열에서는 찾을 수없는 요소입니다. 따라서이 함수에서 기본 배열의 역할을 이해하는 것은 함수의 합리적인 사용에 중요합니다.