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

PHP에서 배열 중복을 제거하는 방법

PHPz
PHPz원래의
2023-04-23 09:18:496333검색

PHP에서 배열은 대용량 데이터를 저장하고 처리하는 데 사용할 수 있는 매우 중요한 데이터 유형입니다. 그러나 배열을 사용하는 과정에서 배열에 중복된 값이 나타날 수 있습니다. 이 경우 배열의 중복을 제거해야 합니다. 다음은 몇 가지 일반적인 PHP 배열 중복 제거 방법을 소개합니다.

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

array_unique() 함수는 PHP 고유의 중복 제거 함수로, 배열에서 중복된 값을 쉽게 제거할 수 있습니다. 이 함수를 사용하는 방법은 다음과 같습니다.

$array = array("a","b","c","d","a","b","e");
$new_array = array_unique($array);
print_r($new_array);

위 코드는 다음과 같이 출력됩니다.

Array ( [0] => a [1] => b [2] => c [3] => d [6] => e )

보시다시피 원래 배열에서 중복된 값 ​​​​"a" 및 "b"가 제거되었습니다.

중복 항목을 제거하기 위해 array_unique() 함수를 사용할 때 배열의 키 이름이 유지된다는 점에 유의해야 합니다. 배열의 색인을 다시 생성하려면 array_values() 함수를 사용할 수 있습니다. 예:

$array = array("a","b","c","d","a","b","e");
$new_array = array_values(array_unique($array));
print_r($new_array);

출력:

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

The array has been re-indexed.

2. 루프를 사용하여 중복 제거

PHP에서는 배열을 반복하여 중복 값을 제거할 수도 있습니다. 이 메소드의 코드는 다음과 같습니다.

$array = array("a","b","c","d","a","b","e");
$new_array = array();
foreach($array as $key=>$value){
    if(!in_array($value,$new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);

배열에 특정 값이 있는지 확인하고, 없으면 새 배열에 추가하면 배열에 있는 중복된 값을 제거할 수 있습니다. 출력 결과는 다음과 같습니다.

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

3. PHP의 array_reduce() 함수를 사용하세요.

array_reduce() 함수는 배열의 요소를 줄일 수 있는 배열 축소 함수입니다. array_reduce() 함수를 사용하여 중복된 값을 제거할 수 있습니다. 코드는 다음과 같습니다.

$array = array("a","b","c","d","a","b","e");
$new_array = array_reduce($array, function($carry, $item){
    if(!in_array($item, $carry)){
        $carry[] = $item;
    }
    return $carry;
}, array());
print_r($new_array);

위 코드는 PHP7의 익명 함수 기능을 활용한 것입니다. 배열에 특정 값이 있는지 확인하고, 없으면 새 배열에 추가하여 값을 복제합니다. 어레이를 제거할 수 있습니다. 출력 결과는 다음과 같습니다.

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

4. PHP의 array_count_values() 함수를 사용하세요.

array_count_values() 함수는 배열에서 각 값의 발생 횟수를 반환할 수 있습니다. 코드는 다음과 같습니다.

$array = array("a","b","c","d","a","b","e");
$count_array = array_count_values($array);
$new_array = array_keys($count_array);
print_r($new_array);

위 코드는 배열의 각 값이 나타나는 횟수를 세고, array_keys() 함수를 통해 새로운 배열을 얻습니다. 출력 결과는 다음과 같습니다.

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

여기 새 배열에는 중복된 값이 없습니다.

위의 네 가지 일반적인 PHP 배열 중복 제거 방법은 다음과 같습니다. 실제 상황에 따라 가장 적합한 중복 제거 처리 방법을 선택하면 어레이 처리 효율성을 효과적으로 향상시킬 수 있습니다.

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

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