array_diff_assoc 함수
array_diff_assoc 함수는 배열을 비교하고 첫 번째 배열에 속하면서 이후 배열들에는 존재하지 않는 요소들을 반환하며, 이때 키와 값 모두를 고려합니다. 비교에는 엄격한 비교(===)가 사용됩니다.
구문
array_diff_assoc(array $array1, array $array2, array ...$arrays): array
예시
키와 값이 다른 두 배열을 비교해 보겠습니다:
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 1, 'b' => 5, 'd' => 4];
$res = array_diff_assoc($arr1, $arr2);
print_r($res);
?>
코드 실행 결과:
['b' => 2, 'c' => 3]
예시
숫자 키를 가진 세 배열의 비교:
<?php
$arr1 = [1, 2, 3, 4];
$arr2 = [1, 3, 3, 4];
$arr3 = [1, 2, 3, 5];
$res = array_diff_assoc($arr1, $arr2, $arr3);
print_r($res);
?>
코드 실행 결과:
[1 => 2]
예시
다른 데이터 타입을 가진 비교:
<?php
$arr1 = ['a' => '1', 'b' => 2];
$arr2 = ['a' => 1, 'b' => '2'];
$res = array_diff_assoc($arr1, $arr2);
print_r($res);
?>
코드 실행 결과:
['a' => '1', 'b' => 2]
함께 보기
-
array_diff함수,
키를 고려하지 않고 값만으로 배열을 비교합니다. -
array_intersect_assoc함수,
키를 고려하여 배열의 교집합을 찾습니다.