Array_Diff_Assoc () 는 PHP에서 두 배열을 비교하여 첫 번째 배열에 있지만 두 번째 배열에는 있지 않은 키 값 쌍을 반환하는 매우 유용한 기능입니다. 구체적으로, 그것은 배열의 값뿐만 아니라 배열의 키를 비교합니다. 이러한 방식으로 array_diff_assoc () 함수는 키 이름과 키 값 사이의 대응을 고려하기 때문에 array_diff () 보다 정확합니다.
이 기사에서는 그래픽 메소드를 사용하여 array_diff_assoc () 함수의 작동 방식을 더 잘 이해할 수 있도록 도와줍니다. 간단한 예에서 시작 하여이 기능의 동작을 단계별로 설명해 봅시다.
array_diff_assoc(array $array1, array $array2): array
<?php
$array1 = [
"a" => 1,
"b" => 2,
"c" => 3
];
$array2 = [
"a" => 1,
"b" => 4,
"d" => 5
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Array
(
[b] => 2
[c] => 3
)
이 예에서 Array_Diff_Assoc ()는 array1 과 array2를 비교합니다. 단계별로 작동하는 방식을 분석합시다.
키 A :
Array1 및 Array2 의 키 A 의 값은 모두 1 이므로이 키 값 쌍 사이에는 차이가 없습니다.
키 B :
Array1 에서 키 B 의 값은 2 이고, Array2 에서는 키 B 의 값은 4 입니다. 키 값이 일관되지 않기 때문에 B => 2는 Array1 에 고유 한 키 값 쌍으로 간주되며 결과에 나타납니다.
키 C :
Array1 에서 키 C 의 값은 3 이고 Array2 에는 키 가 없습니다. 따라서 C => 3 은 또한 Array1 에 고유 한 키 값 쌍으로 간주되며 결과에 나타납니다.
따라서 Array_diff_assoc ()는 b => 2 및 c => 3을 포함하는 배열을 반환합니다.
array_diff_assoc () 의 작동 원리를보다 직관적으로 이해하기 위해 그림을 통해 두 배열의 비교 과정을 보여줄 수 있습니다.
두 개의 배열이 있다고 가정합니다.
Array1 : [ "a"=> 1, "b"=> 2, "c"=> 3]
Array2 : [ "a"=> 1, "b"=> 4, "d"=> 5]
다음 다이어그램을 통해 차이점을 명확하게 볼 수 있습니다.
array1: [ "a" => 1, "b" => 2, "c" => 3 ]
↑ ↑
array2: [ "a" => 1, "b" => 4, "d" => 5 ]
↑
키 A : 동일 (키 및 값 일치 모두)이므로 결과가 아닙니다.
키 B : 키는 동일하지만 값은 다릅니다. 차이는 Array1 에 고유 한 것으로 간주되므로 결과에 나타납니다.
키 C : Array2 에는 키 C 가 없습니다. C => 3은 Array1 에 고유 한 것으로 간주되므로 결과에도 나타납니다.
Result: [ "b" => 2, "c" => 3 ]
Array_Diff_Assoc ()는 배열을 값별로 비교할뿐만 아니라 키 일치도 고려합니다. 두 배열에 동일한 키가 있지만 다른 값이있는 경우 Array_Diff_Assoc () 는 차이로 취급합니다.
Array2 에 전혀 키가 없으면 (예 : C 와 같은) 키 값 쌍은 Array1 에 고유 한 것으로 간주되며 결과 배열에도 나타납니다.
데이터 필터링 차이 : 배열 데이터를 처리 할 때 Array_Diff_Assoc ()를 사용하여 다른 배열의 차이점, 특히 두 배열의 키와 값이 정확히 일치 해야하는 경우 다른 배열의 차이를 찾을 수 있습니다.
구성 배열 처리 : 두 개의 구성 배열을 비교하고 구성 항목이 다른지 확인 해야하는 경우 Array_Diff_Assoc () 가 매우 좋습니다.
데이터 중복 제거 : 두 개의 데이터 세트가 있으면 데이터 세트의 고유 한 부분을 찾으려면 Array_Diff_Assoc ()를 사용하여 달성 할 수 있습니다.
Array_Diff_Assoc () 는 PHP에서 매우 실용적인 기능으로 두 배열의 키 값 쌍의 차이를 비교하고 차동 키 값 쌍이 포함 된 배열을 반환합니다. Array1 과 Array2 의 예를 비교함으로써, 우리는 키와 값을 동시에 비교하여 차이를 판단하는 방법을 이해합니다.
궁금한 점이 있거나 PHP의 다른 배열 조작 기능에 대해 더 깊이 이해하고 싶다면 언제든지 나와 논의하십시오!