배열 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

arrayarrays을 비교하고 그 차이를 반환합니다. 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() - 추가 인덱스 검사로 배열의 교집합을 계산합니다.