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

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

PHPz
PHPz원래의
2023-04-27 09:10:13894검색

PHP에서는 배열의 각 요소가 고유한지 확인하기 위해 배열에서 중복된 요소를 제거해야 하는 경우가 있습니다. 이는 데이터 작업 시, 특히 대량의 데이터에서 고유한 값을 가져와야 할 때 매우 유용합니다. 이 기사에서는 다양한 PHP 함수와 기술을 사용하여 배열에서 중복 값을 제거하는 방법을 설명합니다.

중복을 제거하려면 array_unique 함수를 사용하세요

PHP는 배열에서 중복된 값을 제거하는 아주 간단한 함수인 array_unique를 제공합니다. 이 함수는 배열에서 모든 중복 요소를 제거하고 새 배열을 반환합니다. 다음은 array_unique 함수를 사용하여 중복 항목을 제거하는 예제 코드입니다.

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array_unique($original_array);
print_r($unique_array);

출력 결과는 다음과 같습니다.

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => kiwi
)

위에 표시된 대로 이 함수는 원본 배열의 모든 고유 요소를 포함하는 새 배열을 반환합니다. 이 예제의 원래 배열에는 두 개의 중복된 "apple" 요소가 포함되어 있지만 하나만 유지됩니다.

array_values ​​함수를 사용하여 색인 다시 생성

위의 예에서 볼 수 있듯이 array_unique 함수를 사용하면 배열에서 중복된 요소를 쉽게 제거할 수 있지만 배열의 키가 재설정되지는 않습니다. 즉, 새 배열을 사용하려는 경우 원래 배열과 다른 인덱스를 얻게 됩니다. 0부터 시작하여 증가하는 인덱스가 필요한 경우 array_values ​​​​함수를 사용하여 다시 인덱스할 수 있습니다. 다음은 array_values ​​​​함수를 사용하여 배열을 다시 인덱싱하는 샘플 코드입니다.

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array_values(array_unique($original_array));
print_r($unique_array);

출력은 다음과 같습니다.

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => kiwi
)

위에 표시된 것처럼 예제에서는 먼저 array_unique 함수를 사용하여 배열에서 중복 요소를 제거한 다음 다음을 사용합니다. array_values ​​함수를 사용하여 새 배열을 다시 색인화합니다. 마지막으로 0부터 증가하는 인덱스를 사용하여 원래 배열의 모든 고유 요소를 포함하는 새 배열을 얻습니다.

foreach 루프와 in_array 함수를 사용하여 중복 제거

array_unique 함수와 array_values ​​​​함수 외에도 루프 및 in_array 함수를 사용하여 배열의 중복 요소를 제거할 수도 있습니다. 다음은 foreach 루프 및 in_array 함수를 사용하는 중복 제거에 대한 예제 코드입니다.

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array();
foreach ($original_array as $value) {
    if (!in_array($value, $unique_array)) {
        $unique_array[] = $value;
    }
}
print_r($unique_array);

출력은 다음과 같습니다.

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => kiwi
)

위에 표시된 대로 예제에서는 foreach 루프를 사용하여 원래 배열의 각 요소를 반복하고 in_array를 사용합니다. 현재 요소가 새 배열에 이미 있는지 확인하는 함수입니다. 현재 요소가 새 배열에 없으면 해당 요소가 새 배열에 추가됩니다. 마지막으로 원래 배열의 모든 고유 요소를 포함하는 새 배열이 얻어집니다.

foreach 루프와 array_search 함수를 사용하여 중복 제거

in_array 함수 외에도 array_search 함수를 사용하여 해당 요소가 배열에 존재하는지 확인할 수도 있습니다. 요소의 인덱스 값을 가져와야 하는 경우 array_search 함수는 배열에 있는 요소의 키를 반환합니다. 다음은 foreach 루프와 array_search 함수를 사용하는 중복 제거를 위한 예제 코드입니다.

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array();
foreach ($original_array as $value) {
    if (array_search($value, $unique_array) === false) {
        $unique_array[] = $value;
    }
}
print_r($unique_array);

출력은 다음과 같습니다.

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => kiwi
)

위에 표시된 대로 예제에서는 foreach 루프를 사용하여 원본 배열의 각 요소를 반복하고 array_search를 사용합니다. 현재 요소가 새 배열에 이미 있는지 확인하는 함수입니다. 현재 요소가 새 배열에 없으면 해당 요소가 새 배열에 추가됩니다. 마지막으로 원래 배열의 모든 고유 요소를 포함하는 새 배열이 얻어집니다.

결론

array_unique 함수, array_values ​​​​함수, foreach 루프 및 in_array 함수, foreach 루프 및 array_search 함수를 사용하든 PHP의 배열에서 중복 요소를 쉽게 제거할 수 있습니다. 이러한 기술을 사용할 때는 변수 이름과 코드 구조를 기억하세요. 배열에서 중복 항목을 제거하는 방법을 알게 되면 데이터를 더 잘 처리하고 조작할 수 있게 됩니다.

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

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