Array_Diff_Assoc () 는 PHP의 내장 기능으로 첫 번째 배열에는 존재하지만 두 번째 배열에는 존재하지 않는 요소를 찾는 두 배열을 비교하며 비교는 키 이름과 키 값을 기반으로합니다. 따라서 배열의 값뿐만 아니라 키의 서신도 고려합니다.
array_diff_assoc(array $array1, array $array2): array
$ array1 : 첫 번째 입력 배열 (비교 해야하는 배열).
$ array2 : 두 번째 입력 배열 (첫 번째와 비교하는 배열).
$ array1 에 존재하고 $ array2 에는 존재하지 않는 요소가 포함 된 배열을 반환합니다. 비교는 키 값 쌍을 기반으로합니다. 키 이름과 값이 다를 때만 다르게 간주 될 수 있습니다.
다음과 같이 두 개의 배열이 있다고 가정합니다.
$array1 = [
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry',
'd' => 'date'
];
$array2 = [
'a' => 'apple',
'b' => 'blueberry',
'd' => 'date',
'e' => 'elderberry'
];
Array_Diff_Assoc () 함수를 사용하여 $ array1 에 존재하지만 $ array2 에서는 존재하지 않는 키 값 쌍을 찾으려고합니다.
$diff = array_diff_assoc($array1, $array2);
print_r($diff);
Array
(
[b] => banana
[c] => cherry
)
이 예에서 Array_Diff_Assoc ()는 array $ array1 및 $ array2 에서 키 값 쌍을 찾습니다. 보시다시피, 'b'=> 'banana' 와 'c'=> 'cherry' 는 $ array1 의 요소이지만 $ array2 에서는 다른 값이 있거나 전혀 존재하지 않습니다.
키 값 비교 : Array_Diff () 함수와 달리 Array_Diff_Assoc ()는 배열 값을 비교할뿐만 아니라 차동 비교를 수행 할 때 키 이름을 확인합니다.
순서 데이터의 정확한 비교 : 동일한 값이 아닌 두 개의 연관 배열의 구조 및 데이터 내용을 비교 해야하는 경우 Array_diff_assoc () 는 이상적인 선택입니다.
웹 사이트의 URL 데이터가 포함 된 두 개의 배열이 있다고 가정합니다. 두 배열, 특히 다른 도메인 이름에서 일부 URL의 차이점을 찾고자합니다. 요구 사항을 따르기 위해 원래 URL의 도메인 이름 부분을 M66.net 으로 대체했습니다.
$array1 = [
'home' => 'http://example.com/home',
'about' => 'http://example.com/about',
'contact' => 'http://example.com/contact'
];
$array2 = [
'home' => 'http://m66.net/home',
'about' => 'http://m66.net/about',
'contact' => 'http://m66.net/contact'
];
foreach ($array1 as $key => $url) {
$array1[$key] = str_replace('example.com', 'm66.net', $url);
}
foreach ($array2 as $key => $url) {
$array2[$key] = str_replace('m66.net', 'm66.net', $url);
}
$diff = array_diff_assoc($array1, $array2);
print_r($diff);
Array
(
[home] => http://m66.net/home
[about] => http://m66.net/about
[contact] => http://m66.net/contact
)
이 경우 array_diff_assoc () 함수는 두 배열 사이의 URL 컨텐츠 차이점을 찾는 데 도움이됩니다. exames.com을 M66.net 으로 대체함으로써 비교 과정에서 일관성을 보장합니다.
Array_Diff_Assoc ()는 특히 키 값 쌍과 어레이를 비교해야 할 때 매우 유용한 기능입니다. 배열 값에 중점을 둘뿐만 아니라 키를 비교하여 실제 응용 분야에서 차이를 정확하게 식별 할 수 있도록합니다.
이 기사가 Array_Diff_Assoc ()를 사용하여 배열을 비교하고 차이점을 찾는 방법을 이해하는 데 도움이 되었기를 바랍니다. 이 기능은 복잡한 데이터 구조가 필요한 시나리오 (예 : URL, 구성 항목 등)에 매우 적합합니다.