>  기사  >  백엔드 개발  >  PHP의 정렬된 배열에서 중복을 제거하는 방법

PHP의 정렬된 배열에서 중복을 제거하는 방법

PHPz
PHPz원래의
2023-04-26 10:28:09538검색

PHP 개발에서는 배열을 정렬해야 하는 경우가 많은데, 정렬된 배열에 중복된 요소가 나타날 수 있습니다. 이때 배열에서 중복된 요소를 삭제하는 코드를 작성해야 합니다. 이 기사에서는 PHP의 정렬된 배열에서 중복 항목을 제거하는 방법을 보여줍니다.

1. array_unique() 함수를 사용하세요

array_unique() 함수는 배열에서 중복된 요소를 제거할 수 있습니다. 하지만 이 함수는 정렬되지 않은 배열만 처리할 수 있으므로 sort() 또는 함수를 사용해야 합니다. rsort() 정렬 배열과 같은 것입니다.

샘플 코드:

$arr = array(1, 2, 2, 3, 4, 4, 5);
sort($arr);//排序
$newArr = array_unique($arr);//去重
print_r($newArr);

출력 결과:

Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )

원래 배열의 키 이름을 유지해야 하는 경우 array_unique() 함수의 두 번째 매개 변수를 사용할 수 있습니다.

$arr = array('a' => 1, 'b' => 2, 'c' => 2, 'd' => 3, 'e' => 4, 'f' => 4, 'g' => 5);
asort($arr);//排序
$newArr = array_unique($arr, SORT_REGULAR);//去重
print_r($newArr);

출력 결과:

Array ( [a] => 1 [b] => 2 [d] => 3 [e] => 4 [g] => 5 )

2 . 배열을 탐색하여 중복 항목을 제거합니다.

정렬된 배열에서 중복을 제거하는 또 다른 방법은 배열을 반복하고 중복 요소가 발견되면 unset() 함수를 사용하여 배열에서 요소를 제거하는 것입니다.

샘플 코드:

$arr = array(1, 2, 2, 3, 4, 4, 5);
sort($arr);//排序
for($i=0;$i<count($arr)-1;$i++){
    if($arr[$i] == $arr[$i+1]){
        unset($arr[$i+1]);//删除重复元素
    }
}
print_r($arr);

출력 결과:

Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )

이 방법을 사용하여 요소를 삭제하면 원래 배열의 인덱스가 재정렬되므로 주의할 점은 $i+1 인덱스를 사용해야 합니다. 삭제하지 않으면 누락됩니다. 중복된 요소를 제거하세요.

3. 배열 재귀를 사용하여 중복 제거

배열이 다차원인 경우 재귀를 사용하여 중복을 제거할 수 있습니다.

샘플 코드:

$arr = array(
    1,
    2,
    2,
    array(
        3,
        4,
        4,
        5,
        array(
            6,
            7,
            7,
        ),
    ),
);
sort($arr);//排序
function uniqueArray($arr){
    foreach($arr as $k => $v){
        if(is_array($v)){
            $arr[$k] = uniqueArray($v);
        }
    }
    return array_unique($arr);
}
$newArr = uniqueArray($arr);//递归去重
print_r($newArr);

출력 결과:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [6] => 5 [9] => 6 [10] => 7 )

이 방법은 다차원 배열을 중복 제거하고 원본 배열의 구조를 유지할 수 있습니다.

결론

PHP 개발에서 정렬된 배열에서 중복 항목을 삭제하는 것은 매우 일반적인 작업입니다. 이 기사에서는 array_unique() 함수 사용, 배열을 순회하여 삭제, 재귀적으로 배열 중복 제거라는 세 가지 방법을 소개합니다. 상황에 따라 적합한 방법이 다르므로 필요에 따라 적합한 방법을 선택할 수 있습니다.

위 내용은 PHP의 정렬된 배열에서 중복을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.