>  기사  >  백엔드 개발  >  PHP에서 중복 배열을 삭제하는 방법(내장 기능 없음)

PHP에서 중복 배열을 삭제하는 방법(내장 기능 없음)

PHPz
PHPz원래의
2023-04-21 10:02:30639검색

PHP는 일상적인 개발에 필요한 많은 기능을 쉽게 구현할 수 있는 강력한 내장 함수 라이브러리를 갖춘 널리 사용되는 스크립팅 언어입니다. 그러나 어떤 경우에는 내장 함수를 사용하지 않는 일부 함수를 구현해야 할 수도 있습니다. 이를 위해서는 PHP 언어의 기본 사항에 대한 심층적인 이해와 숙달이 필요합니다. 이 기사에서는 내장 함수를 사용하지 않고 PHP에서 중복 배열을 제거하는 방법에 대해 설명합니다.

1. 문제의 배경

실제 개발에서는 배열을 처리해야 하는 경우도 많고, 배열에서 중복된 요소를 제거해야 하는 경우도 있습니다. 이 문제는 내장된 함수를 사용하면 매우 쉽게 해결할 수 있습니다. PHP는 array_unique, array_count_values ​​등과 같은 중복 제거를 위한 다양한 함수를 제공합니다. 그러나 어떤 경우에는 중복 제거 기능을 직접 수동으로 구현해야 할 수도 있습니다. 예를 들어, 시험이나 면접 중에 내장된 기능을 사용할 수 없고 수동으로만 기능을 구현해야 하는 상황에 직면할 수 있습니다. 따라서 이 기사에서는 PHP를 사용하여 수동으로 중복 제거 기능을 구현하는 방법에 대해 설명합니다.

2. 메소드 설명

함수 구현의 기본 아이디어는 다음과 같습니다.

1. 원래 배열을 순회하고 각 요소를 새 배열에 추가합니다(새 배열에 해당 요소가 없는 경우). ).

2. in_array 함수를 사용하여 요소가 새 배열에 나타나는지 확인합니다.

3. 요소가 새 배열에 나타나면 아무 작업도 수행되지 않습니다.

4. 요소가 새 배열에 나타나지 않으면 새 배열에 추가하세요.

다음은 구체적인 구현 코드입니다:

<?php
function deleteRepeat($arr)
{
    $newArr = array();
    foreach($arr as $value){
        if(in_array($value,$newArr)){
            continue;
        }else{
            $newArr[] = $value;
        }
    }
    return $newArr;
}
?>

이 함수에서는 먼저 새로운 빈 배열 $newArr을 선언합니다. 그런 다음 foreach 루프를 사용하여 원래 배열 $arr을 탐색합니다. 루프 본문에서 in_array 함수를 사용하여 각 요소가 $newArr에 나타나는지 확인합니다. 요소가 $newArr에 나타나면 continue 문을 사용하여 이 루프를 건너뜁니다. 그렇지 않으면 [] 연산자를 사용하여 $newArr에 요소를 추가합니다. 마지막으로 새 배열 $newArr이 반환됩니다.

3. 테스트

기능이 유효한지 확인하려면 테스트해야 합니다. 다음 코드는 함수를 사용하여 배열에서 중복 요소를 제거하는 방법을 보여줍니다.

<?php
$arr = array(3,6,9,6,3,8,1);
$newArr = deleteRepeat($arr);
print_r($newArr);
?>

출력은 다음과 같습니다.

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

보시다시피 이 함수는 원래 배열에서 중복 요소를 성공적으로 제거합니다.

4. 요약

이 기사에서는 PHP에서 배열 중복 제거 기능을 수동으로 구현하는 방법에 대해 논의했습니다. PHP에는 중복 제거를 위한 많은 내장 기능이 있으므로 많은 개발자는 이 기능을 수동으로 구현하는 것이 중복된다고 생각할 수 있습니다. 그러나 어떤 경우에는 이 기능을 수동으로 구현하는 방법을 아는 것이 중요합니다. 이는 PHP 언어의 기본 사항에 대한 숙달을 보여주기 때문입니다. 동시에, 중복 제거 기능을 수동으로 구현하면 PHP에서 배열 작업의 워크플로를 더 잘 이해하는 데 도움이 될 수 있으며, 이는 개발 중 코드 최적화 및 디버깅에도 큰 도움이 됩니다.

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

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