php에서 Array_diff_ukey () 및 array_map () 은 배열 키와 필터를 비교하고 배열을 각각 맵핑하고 변환하는 데 사용되는 매우 일반적으로 사용되는 배열 함수입니다. 이 기사는이 두 기능을 조합하여 배열 키의 필터링 및 변환을 구현하는 방법을 소개합니다.
Array_diff_ukey ()는 두 개 이상의 배열의 키를 비교하고 키가 다른 요소를 포함하는 배열을 반환하는 데 사용됩니다. 이 함수의 구문은 다음과 같습니다.
array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
$ array1 및 $ array2 는 비교할 두 개의 배열입니다.
$ key_compare_func는 두 배열의 키를 비교하는 콜백 함수입니다.
이 함수는 콜백 함수를 통해 키를 비교하는 방법을 결정합니다. 콜백 함수가 0을 반환하면 키가 동일하다는 것을 의미합니다. 음수 값을 반환합니다. $ array1 의 키는 $ array2 의 키보다 작음을 의미합니다. 양수 값을 반환합니다. $ array1 의 키는 $ array2 의 키보다 큽니다.
Array_Map ()은 배열의 각 요소에 콜백 함수를 적용하고 새 배열을 반환하는 데 사용됩니다. 구문은 다음과 같습니다.
array_map(callable $callback, array $array): array
$ 콜백은 각 요소에 적용되는 콜백 함수입니다.
$ 배열은 매핑 될 배열입니다.
Array_diff_ukey ()를 사용하여 키를 필터링 한 다음 Array_Map () 을 통해 배열 값을 변환 할 수 있습니다. 다음은 키를 필터링하고 변환하기 위해이 두 기능을 조합하여 사용하는 방법을 보여주는 실용적인 예입니다.
<?php
// 원래 배열
$array1 = [
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
];
// 배열을 비교하십시오,우리가 유지하고 싶다고 가정 해 봅시다 'a' 그리고 'c' 이 두 키
$array2 = [
'a' => 10,
'c' => 20
];
// 사용 array_diff_ukey 필터링하지 마십시오 $array2 열쇠가 있습니다
$filteredArray = array_diff_ukey($array1, $array2, function($key1, $key2) {
return $key1 <=> $key2; // 키의 크기를 비교하십시오
});
// 사용 array_map 값을 필터링 된 배열로 변환합니다,여기서 우리는 값을 곱합니다 10
$transformedArray = array_map(function($value) {
return $value * 10;
}, $filteredArray);
// 출력 결과
print_r($transformedArray);
?>
먼저 비교를 위해 원시 배열 $ array1 과 array $ array2를 정의합니다.
Array_diff_ukey () 함수를 통해 $ array1 및 $ array2 의 키를 비교하고 $ array2가 아닌 $ array1 의 키를 필터링합니다. 이 예에서 필터링 배열 $ FilternArray에는 키 'A' 및 'C' 에 해당하는 요소가 포함됩니다.
그런 다음 Array_Map ()을 사용하여 $ Filterray 배열의 값을 변환합니다. 이 예에서는 값을 10을 곱하여 새로운 배열 $ transformedArray를 생성합니다.
마지막으로 변환 된 배열을 출력합니다.
Array_diff_ukey () 및 Array_map () 의 결합 된 사용을 통해 필터링 어레이 키를 구현하고 값을 변환 할 수 있습니다. 이러한 조합은 특히 배열 키와 값이 모두 필요한 경우 복잡한 데이터 작업을 처리 할 수있는 유연성을 허용합니다.