Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP array_diff() 함수 완벽 정리: 두 배열의 차이점 구하는 방법

PHP는 다양한 기능을 수행하는 내장 함수들을 제공하고 있습니다. 그중에서 array_diff()는 PHP에 미리 정의되어 있는(predefined) 함수로, 두 개 이상의 배열 간의 차이를 계산할 때 사용됩니다. 만약 이 함수를 두 개의 배열과 함께 사용하면, 첫 번째 배열에는 존재하지만 다른 배열에는 없는 모든 요소를 담고 있는 배열을 반환합니다.

즉, 이 함수는 배열 내부에 들어 있는 값(value)을 기준으로 두 개 이상의 배열 사이의 차이를 계산합니다.

사용 예제

<?php
   $myarray1 = array('c', 'd', 'j', 'k', 'c', 'd', 'c');
   $myarray2 = array('j', 'k', 'd');
   print_r(array_diff($myarray1, $myarray2));
?>

실행 결과

Array
(
    [0] => c
    [4] => c
    [6] => c
)

주의 사항

1. 문자열 형태로 비교
array_diff()는 요소들을 문자열(string) 표현으로 변환하여 비교합니다. 따라서 숫자 2와 문자열 '2'는 이 함수에게 동일한 값으로 취급됩니다.

2. 중복 횟수도 결과에 영향을 줌
첫 번째 배열에서 해당 요소가 몇 번 반복되어 나오는지가 결과에 영향을 미칩니다. 예를 들어, 어떤 요소가 $array1에는 여러 번 등장하지만 다른 배열에는 한 번만 등장한다면, 그 요소는 결과 배열에서 제외됩니다. 위 예제에서 'c'는 $myarray2에 존재하지 않기 때문에 세 번 모두 결과에 포함된 것을 확인할 수 있습니다.