
array_diff 함수는 두 개의 배열에서 첫 번째 배열의 모든 요소를 제거하여 두 번째 배열의 요소가 모두 포함되지 않은 요소만 반환합니다.
따라서, $array1과 $array2에서 모두 존재하는 값인 'banana'는 제거되지 않고, $array1에서만 존재하는 값인 'cherry'만 반환됩니다.
이러한 결과를 얻으려면, array_diff 함수의 인자를 반대로 설정하면 됩니다.
예를 들어, 다음과 같이 코드를 수정할 수 있습니다.
#hostingforum.kr
php
$array1 = array('apple', 'banana', 'cherry');
$array2 = array('banana', 'date', 'elderberry');
$diff = array_diff($array2, $array1);
print_r($diff);
이 코드를 실행하면, 다음과 같은 결과가 출력됩니다.
#hostingforum.kr
php
Array
(
[1] => date
[2] => elderberry
)
또는, array_diff 함수 대신에 array_merge 및 array_diff_key 함수를 사용하여 두 개의 배열에서 모두 존재하는 값을 제거할 수 있습니다.
#hostingforum.kr
php
$array1 = array('apple', 'banana', 'cherry');
$array2 = array('banana', 'date', 'elderberry');
$diff = array_diff_key($array1, array_flip($array2));
print_r($diff);
이 코드를 실행하면, 다음과 같은 결과가 출력됩니다.
#hostingforum.kr
php
Array
(
[0] => apple
[2] => cherry
)
2025-07-14 02:00