(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc — 추가적인 인덱스 확인과 함께 배열 차이를 계산
array1 를 array2 에 비교하고 차이를 반환합니다. array_diff()와 달리 배열 키를 비교에 사용합니다.
비교할 원본 배열
비교할 대상 배열
추가 대상 배열
다른 배열에 존재하지 않는 array1 의 모든 값을 가지는 array를 반환합니다.
Example #1 array_diff_assoc() 예제
이 예제에서 "a" => "green" 쌍이 두 배열에 모두 존재하므로 함수에서 출력하지 않습니다. 이와 달리, 0 =>> "red" 쌍은 출력하는데, 두번째 인수의 "red"는 키가 1이기 때문입니다.
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
위 예제의 출력:
Array ( [b] => brown [c] => blue [0] => red )
Example #2 array_diff_assoc() 예제
key => value 쌍에서 두 값은 (string) $elem1 === (string) $elem2 일 때만 동일하다고 간주합니다. 즉, 엄격한 확인을 하므로 문자열 표현이 동일해야 합니다.
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
위 예제의 출력:
Array ( [0] => 0 [1] => 1 )
Note: 이 함수는 n차원 배열의 1차원만 확인합니다. 물론, 깊은 차원은 array_diff_assoc($array1[0], $array2[0]);처럼 확인할 수 있습니다.