array_diff_assoc
(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc — 인덱스 검사와 함께 배열간의 차이를 계산한다
설명
array_diff_assoc()는 array1 중에서 다른 인자에서 존재하지 않는 모든 값들을 포함하는 배열을 반환한다. 이 함수는 array_diff()과 달리 비교시에 키가 사용된다는것에 주의한다.
Example#1 array_diff_assoc() 예제코드
<?php
$array1 = array ("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array ("a" => "green", "yellow", "red");
$result = array_diff_assoc ($array1, $array2);
/* The result is:
Array
(
[b] => brown
[c] => blue
[0] => red
)
*/
?>
위 예제코드에서 "a" => "green" 쌍은 두 배열에 모두 존재하기 때문에 이 함수의 출력에서 존재하지 않는다. 이와 달리, 0 => "red" 쌍은 출력에 보이는데 그 이유는 두번째 인자에서 "red" 가 1 이라는 키를 갖기 때문이다.
key => value 쌍에서 두 구성요소가 동치라고 볼수 있는 때는 (string) $elem1 === (string) $elem2 일때 만이다. 달리 말하면 엄격한 타입 검사는 문자열 대표성이 동일해야 한다는것이다.
Note: 이 함수는 n-차원 배열의 한개 차원만 검사한다는것에 주의한다. 물론 array_diff_assoc($array1[0], $array2[0]);와 같은 방법으로 내부 차원을 검사할수 있다.
array_diff(), array_intersect(), array_intersect_assoc() 참고.