웹 애플리케이션을 개발할 때 어레이 중복을 제거해야 하는 경우가 많습니다. PHP는 이러한 상황을 처리하기 위해 매우 편리한 array_unique() 함수를 제공합니다. array_unique() 함수는 배열에서 중복된 요소를 제거하고 새 배열을 반환할 수 있습니다.
array_unique() 함수의 기본 구문은 다음과 같습니다.
array_unique(array $array, int $sort_flags = SORT_STRING): array
그 중 $array 매개변수는 중복 요소를 제거하는 배열을 지정하며, $sort_flags는 정렬 규칙을 지정하는 선택적 매개변수입니다. SORT_STRING 또는 SORT_LOCALE_STRING은 각각 값 기준, 문자열 기준 및 현지화된 문자열 기준 정렬을 의미합니다. $sort_flags를 지정하지 않으면 함수는 기본적으로 SORT_STRING 규칙을 사용합니다.
이제 배열 중복 제거를 위해 array_unique() 함수를 사용하는 방법을 보여주는 예를 살펴보겠습니다.
<?php //定义一个包含重复元素的数组 $fruits = array("apple", "banana", "orange", "apple", "pear", "banana"); //使用array_unique()函数去重 $unique_fruits = array_unique($fruits); //打印去重后的数组 print_r($unique_fruits); ?>
위 코드는 다음 결과를 출력합니다.
Array ( [0] => apple [1] => banana [2] => orange [4] => pear )
보시다시피 4개의 요소만 남아 있습니다. $unique_fruits 배열, 중복된 "apple" 및 "banana"가 제거되었습니다.
array_unique() 함수는 배열의 키 값을 다시 인덱싱한다는 점에 유의해야 합니다. 이는 중복 요소를 제거한 후 $unique_fruits 배열의 키 번호가 0부터 다시 매겨짐을 의미합니다.
원본 배열에서 중복 요소의 마지막 복사본을 유지하려면 배열을 역순으로 순회한 다음 unset() 함수를 사용하여 중복 요소의 이전 복사본을 삭제할 수 있습니다. 구체적인 코드는 다음과 같습니다.
<?php $names = array("Tom", "Jack", "Mary", "Tom", "John", "Mary"); $unique_names = array(); for($i = count($names) - 1; $i >= 0; $i--){ if(!in_array($names[$i], $unique_names)){ array_unshift($unique_names, $names[$i]); } else{ unset($names[$i]); } } print_r($names); //输出数组中仅包含重复元素的最后一个副本 print_r($unique_names); //输出去重后的数组 ?>
위 코드는 다음 두 줄을 출력합니다.
Array ( [2] => Mary [4] => John ) Array ( [0] => Tom [1] => Jack [2] => Mary [4] => John )
이런 방식으로 $unique_names 배열은 중복 제거된 배열을 저장하고 $names 배열은 중복 요소의 마지막 복사본만 유지합니다. .
array_unique() 함수는 PHP의 매우 실용적인 함수 중 하나입니다. 이 함수는 배열에서 중복 요소를 쉽게 제거하여 배열 처리 작업을 더 쉽게 만들어줍니다.
위 내용은 중복 배열을 제거하려면 PHP array_unique() 함수를 사용하십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!