본문 바로가기
PHP

[PHP] array_diff_assoc() 함수로 값과 키까지 비교하기

by teamnova 2025. 6. 29.
728x90

안녕하세요, 

 

오늘은 array_diff_assoc() 함수를 활용하여 키와 값이 모두 동일한 항목을 기준으로 배열의 차이를 구해보도록 하겠습니다. 

 

array_diff_assoc() 

array_diff_assoc()  함수는 PHP에서 배열의 차이점을 비교할 때 사용되며, 값뿐만 아니라 키까지 정확히 일치해야 동일한 것으로 봅니다. 

array_diff_assoc(array $array1, array $array2): array

 

  • $array1과 $array2를 비교하여, $array1에 있지만 $array2에는 없거나 다르게 있는 (값 또는 키) 요소만 반환함
  • 단순히 값이 같은지를 비교하는 array_diff()와 달리, array_diff_assoc()는 키와 값이 모두 같아야 동일하다고 판단
  • 값이 같아도 키가 다르면 차이로 간주함

 

예제 

<?php
$defaultSomething  = [
    'theme' => 'light',
    'language' => 'en',
    'timezone' => 'UTC'
];

$userSomething = [
    'theme' => 'dark',          // 변경됨
    'language' => 'en',         // 동일
    'timezone' => 'Asia/Seoul'  // 변경됨
];

$diff = array_diff_assoc($userSomething, $defaultSomething);

print_r($diff);
?>

 

 

출력 결과 

Array ( [theme] => dark [timezone] => Asia/Seoul )