PHP의 array_unique() 함수는 배열에서 중복된 값을 제거하고 고유한 요소만 남긴 새로운 배열을 반환하는 함수입니다. 배열을 다룰 때 데이터 정리나 중복 검사에 매우 유용하게 활용됩니다.
문법
array_unique(arr, compare)
매개변수
arr − 중복 값을 제거할 대상 배열입니다.
compare − 배열 요소를 비교하는 방식을 지정합니다. 사용 가능한 값은 다음과 같습니다.
SORT_STRING − 요소를 문자열로 변환하여 비교합니다.
SORT_REGULAR − 자료형을 변경하지 않고 일반적인 방식으로 비교합니다.
SORT_NUMERIC − 요소를 숫자로 취급하여 수치적으로 비교합니다.
SORT_LOCALE_STRING − 현재 로케일(locale) 설정을 기준으로 문자열 형태로 비교합니다.
반환값
array_unique() 함수는 중복이 제거된 필터링된 배열을 반환합니다. 이때 첫 번째로 등장한 키(key)와 값(value)은 유지되며, 이후 중복되는 요소들은 삭제됩니다.
예제
다음은 array_unique() 함수의 사용 예시입니다.
<?php
$arr = array("a"=>"one","b"=>"two","c"=>"two", "d"=>"three", "e"=>"three");
print_r(array_unique($arr));
?>실행 결과
Array ( [a] => one [b] => two [d] => three )
참고 사항
위 예제에서 키 "c"와 "e"는 각각 "b", "d"와 동일한 값을 가지고 있으므로 중복으로 판단되어 제거되었습니다. 결과적으로 처음 등장한 키-값 쌍만 남게 됩니다.
또한 array_unique() 함수는 원본 배열을 변경하지 않고 새로운 배열을 반환하므로, 필요하다면 반환값을 다른 변수에 저장하여 사용해야 합니다.