Forum und email

array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_diff_assoc — 인덱스 검사와 함께 배열간의 차이를 계산한다

설명

array array_diff_assoc ( array $array1 , array $array2 [, array $ ... ] )

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() 참고.