PHP에서 배열 작업은 매일 개발에서 가장 일반적인 작업 중 하나입니다. PHP는 Array_Diff_Assoc () 및 Array_Merge () 가 매우 유용한 두 가지 기능 인 풍부한 배열 작동 기능을 제공합니다. 이 두 기능은 두 배열을 비교하고 차이를 처리하거나 배열을 병합 할 때 특정 필터링 및 처리를 수행해야 할 때 매우 유용합니다.
이 기사는 Array_Diff_Assoc () 및 Array_Merge () Union을 사용하여 배열 변경을 처리하고 배열 차이를 해결하고 문제를 병합하는 방법을 소개합니다. 우리는이 두 기능이 어떻게 함께 작동하는지 설명하기 위해 실용적인 예를 사용합니다.
Array_Diff_Assoc () 함수는 두 배열을 비교하는 데 사용되며 첫 번째 배열에 포함 된 배열을 반환하지만 다른 배열에는 없습니다. Array_Diff () 와 달리 Array_Diff_Assoc ()는 배열의 키 이름과 값을 모두 고려하며 완전히 다른 키 값 쌍의 요소 만 반환됩니다.
array_diff_assoc(array $array1, array $array2, array ...$arrays): array
Array1 : 비교 해야하는 첫 번째 배열.
Array2 : 첫 번째 배열과 비교 해야하는 두 번째 배열.
반환 : Array1 에 있지만 Array2 에 있지 않은 키 값 쌍이 포함 된 새 배열을 반환합니다.
$array1 = [
"a" => 1,
"b" => 2,
"c" => 3
];
$array2 = [
"a" => 1,
"b" => 4,
"c" => 3
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
산출:
Array
(
[b] => 2
)
결과에서 알 수 있듯이 Array_Diff_Assoc () 함수는 키 이름 b 에서 다른 값의 요소 만 반환합니다. b.
Array_Merge () 함수는 하나 이상의 배열을 병합하는 데 사용됩니다. 배열의 모든 요소를 포함하는 새 배열을 반환합니다. 다중 배열의 키 이름이 동일한 경우 후속 배열 요소는 이전 배열 요소를 덮어 씁니다.
array_merge(array ...$arrays): array
$ 배열 : 병합 해야하는 하나 이상의 배열.
반환 : 모든 입력 배열 요소가 포함 된 새 배열을 반환합니다.
$array1 = [
"a" => 1,
"b" => 2
];
$array2 = [
"c" => 3,
"d" => 4
];
$result = array_merge($array1, $array2);
print_r($result);
산출:
Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
)
위에서 볼 수 있듯이 Array_merge ()는 두 배열을 새 배열로 결합합니다.
두 개의 배열이 있다고 가정합니다. 하나는 원래 데이터 배열이고 다른 하나는 일부 변경 후 데이터 배열입니다. 이 두 배열의 차이점을 찾아서 차이점을 병합해야합니다. 이 프로세스는 Array_Diff_Assoc () 에 의해 달성 한 다음 Array_Merge ()를 사용하여 배열을 병합 할 수 있습니다.
// 원시 데이터
$original = [
"name" => "John",
"email" => "john@example.com",
"age" => 30
];
// 변화
$updated = [
"name" => "John",
"email" => "john@m66.net", // 수정 된 이메일 주소
"city" => "New York" // 새로운 도시가 추가되었습니다
];
// 사용 array_diff_assoc 차이를 찾으십시오
$diff = array_diff_assoc($updated, $original);
// 차이 부분을 병합하십시오
$merged = array_merge($original, $diff);
print_r($merged);
산출:
Array
(
[name] => John
[email] => john@m66.net
[age] => 30
[city] => New York
)
차이점을 찾으십시오 : array_diff_assoc ()는 업데이트 된 배열과 원래 배열의 차이를 찾는 데 사용됩니다. 다른 키 값 쌍 (예 : 이메일 및 도시 )이 포함 된 새 배열을 반환합니다.
병합 차이 : Array_Merge ()는 원래 배열과 차이 부품을 병합하는 데 사용됩니다. 병합 작업을 통해 업데이트 된 부품 (차이)을 병합하면서 원래 배열의 다른 부분을 유지할 수 있습니다.
이 기술은 특히 구성 업데이트를 처리하거나 데이터베이스 레코드의 비교에 적합합니다. 예를 들어, 구성 파일, 사용자 설정 또는 데이터베이스 레코드의 변경 사항을 감지 해야하는 경우 Array_Diff_Assoc () 을 통해 모든 다른 부분을 찾은 다음 Array_Merge ()를 사용하여 새 값을 원래 데이터로 병합하여 배열을 효율적으로 업데이트 할 수 있습니다.
Array_Diff_Assoc () 및 Array_Merge ()를 결합하여 배열의 차이를 쉽게 처리하고 병합 할 수 있습니다. Array_Diff_Assoc ()은 배열의 차이점을 찾는 데 도움이되는 반면 Array_Merge ()는 이러한 차이를 원래 데이터로 병합 할 수 있습니다. 둘 다 서로 함께 사용되며 데이터 변경 및 조합이 필요한 시나리오에 특히 적합합니다.
이 기사 가이 두 기능의 사용을 더 잘 이해하고 실제 프로젝트에 유연하게 적용하는 데 도움이되기를 바랍니다. 질문이나 아이디어가 있으면 메시지를 남겨 두십시오.