배열 array_diff_assoc
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
array_diff_assoc — 추가 인덱스 검사로 배열의 차이를 계산합니다.
설명
array_diff_assoc(array $array
, array ...$arrays
): array
array
과 arrays
을 비교하고 그 차이를 반환합니다. array_diff()와 달리 배열 키도 비교에 사용됩니다.
매개변수
array
- 비교할 배열
arrays
- 비교할 배열
반환 값
다른 배열에는 없는 array
의 모든 값을 포함하는 배열을 반환합니다.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | 이 함수는 이제 하나의 매개변수로 호출할 수 있습니다. 이전에는 두 개 이상의 매개변수가 필요했습니다. |
Examples
예제 #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 )
예제 #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 )
메모
참고: 이 함수는 n차원 배열의 한 차원만 확인합니다. 물론 array_diff_assoc($array1[0], $array2[0]);
을 사용하여 더 깊은 차원을 확인할 수 있습니다.
참고: 유사한 배열을 더 많은 키와 비교할 때 올바른 순서로 인수를 전달해야 합니다. 새 배열은 목록의 첫 번째 배열이어야 합니다.
기타
- array_diff() - 배열의 차이를 계산합니다.
- array_diff_uassoc() - 사용자가 제공한 콜백 함수에 의해 수행되는 추가 인덱스 검사로 배열의 차이를 계산합니다.
- array_udiff_assoc() - 추가 인덱스 검사로 배열의 차이를 계산하고 콜백 함수로 데이터를 비교
- array_udiff_uassoc() - 추가 인덱스 검사로 배열의 차이를 계산하고 콜백 함수로 데이터와 인덱스를 비교
- array_intersect() - 배열의 교집합을 계산합니다.
- array_intersect_assoc() - 추가 인덱스 검사로 배열의 교집합을 계산합니다.