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

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

PHPz
풀어 주다: 2023-04-26 14:12:23
원래의
594명이 탐색했습니다.

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

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

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

샘플 코드:

1

2

3

4

$arr array(1, 2, 2, 3, 4, 4, 5);

sort($arr);//排序

$newArr array_unique($arr);//去重

print_r($newArr);

로그인 후 복사

출력 결과:

1

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

로그인 후 복사

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

1

2

3

4

$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);

로그인 후 복사

출력 결과:

1

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

로그인 후 복사

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

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

샘플 코드:

1

2

3

4

5

6

7

8

$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);

로그인 후 복사

출력 결과:

1

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

로그인 후 복사

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

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

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

샘플 코드:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

$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);

로그인 후 복사

출력 결과:

1

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

로그인 후 복사

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

결론

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

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿