현재 위치: > 최신 기사 목록> Array_Diff_Assoc () 및 Array_Merge ()는 배열 변경을 공동으로 처리합니다

Array_Diff_Assoc () 및 Array_Merge ()는 배열 변경을 공동으로 처리합니다

M66 2025-06-06

PHP에서 배열 작업은 매일 개발에서 가장 일반적인 작업 중 하나입니다. PHP는 Array_Diff_Assoc ()Array_Merge () 가 매우 유용한 두 가지 기능 인 풍부한 배열 작동 기능을 제공합니다. 이 두 기능은 두 배열을 비교하고 차이를 처리하거나 배열을 병합 할 때 특정 필터링 및 처리를 수행해야 할 때 매우 유용합니다.

이 기사는 Array_Diff_Assoc ()Array_Merge () Union을 사용하여 배열 변경을 처리하고 배열 차이를 해결하고 문제를 병합하는 방법을 소개합니다. 우리는이 두 기능이 어떻게 함께 작동하는지 설명하기 위해 실용적인 예를 사용합니다.

Array_diff_assoc () 란 무엇입니까?

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_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 ()를 사용하여 배열 차이를 처리하고 병합

장면 설명 :

두 개의 배열이 있다고 가정합니다. 하나는 원래 데이터 배열이고 다른 하나는 일부 변경 후 데이터 배열입니다. 이 두 배열의 차이점을 찾아서 차이점을 병합해야합니다. 이 프로세스는 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
)

설명하다:

  1. 차이점을 찾으십시오 : array_diff_assoc ()는 업데이트 된 배열과 원래 배열의 차이를 찾는 데 사용됩니다. 다른 키 값 쌍 (예 : 이메일도시 )이 포함 된 새 배열을 반환합니다.

  2. 병합 차이 : Array_Merge ()는 원래 배열과 차이 부품을 병합하는 데 사용됩니다. 병합 작업을 통해 업데이트 된 부품 (차이)을 병합하면서 원래 배열의 다른 부분을 유지할 수 있습니다.

실제 응용 프로그램 :

이 기술은 특히 구성 업데이트를 처리하거나 데이터베이스 레코드의 비교에 적합합니다. 예를 들어, 구성 파일, 사용자 설정 또는 데이터베이스 레코드의 변경 사항을 감지 해야하는 경우 Array_Diff_Assoc () 을 통해 모든 다른 부분을 찾은 다음 Array_Merge ()를 사용하여 새 값을 원래 데이터로 병합하여 배열을 효율적으로 업데이트 할 수 있습니다.

요약

Array_Diff_Assoc ()Array_Merge ()를 결합하여 배열의 차이를 쉽게 처리하고 병합 할 수 있습니다. Array_Diff_Assoc ()은 배열의 차이점을 찾는 데 도움이되는 반면 Array_Merge ()는 이러한 차이를 원래 데이터로 병합 할 수 있습니다. 둘 다 서로 함께 사용되며 데이터 변경 및 조합이 필요한 시나리오에 특히 적합합니다.

이 기사 가이 두 기능의 사용을 더 잘 이해하고 실제 프로젝트에 유연하게 적용하는 데 도움이되기를 바랍니다. 질문이나 아이디어가 있으면 메시지를 남겨 두십시오.