>  기사  >  백엔드 개발  >  배열 기능 없이 PHP에서 중복을 제거하는 방법

배열 기능 없이 PHP에서 중복을 제거하는 방법

PHPz
PHPz원래의
2023-04-18 15:20:40438검색

PHP 언어는 오늘날 매우 인기 있는 프로그래밍 언어입니다. 강력한 배열 기능 기능은 개발 과정에서 점점 더 많은 프로그래머가 익히고 사용하고 있습니다. 그러나 젊은 PHP 프로그래머는 PHP 언어에서 배열 중복 제거 작업을 수행하기 위해 배열 함수를 사용할 필요가 없다는 사실을 모를 수도 있습니다. 이 기사에서는 PHP 언어의 다양한 배열 중복 제거 방법을 살펴보고 구현 원칙을 이해하고 숙달합니다.

어레이 중복 제거는 중복 데이터를 효과적으로 제거하고 개발자를 위한 저장 공간과 컴퓨팅 리소스를 절약할 수 있는 기본 데이터 작업입니다. PHP에서는 일반적으로 array_unique와 같은 배열 함수를 사용하여 중복 제거 작업을 수행하지만 실제로는 PHP 언어에 내장된 일부 언어 기능을 사용하여 동일한 기능을 구현할 수 있으며 이러한 방법은 배열 함수를 사용하는 것보다 더 효율적이고 유연합니다. 중복을 제거하려면.

방법 1: 키-값 교환 원리를 사용하여 배열 중복 제거 달성

PHP에서 배열은 키-값 쌍의 형태이며 해당 값(Value)은 키 이름( 키), 키 이름은 정수 또는 문자열일 수 있습니다. 따라서 이 기능을 사용하면 배열의 값과 키 이름을 교환하여 중복 제거 목적을 달성할 수 있습니다. 구체적인 구현 방법은 다음과 같습니다.

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
foreach ($origin as $key => $val) {
    $tmp[$val] = 1;
}
$unique = array_keys($tmp);

//输出结果
print_r($unique);
?>

이 코드에서는 먼저 foreach 루프를 사용하여 해당 값을 키 이름으로 사용하고 1을 해당 값으로 사용하여 배열을 순회합니다. 키 이름은 고유하기 때문에 다른 키 이름에 다른 값이 할당되고 동일한 값이 원래 키 이름을 덮어쓰므로 중복 제거 목적이 달성됩니다. 마지막으로 모든 키 이름은 array_keys 함수를 통해 추출되어 새로운 배열로 구성됩니다.

방법 2: array_flip 함수를 사용하여 키 이름과 값을 교환하여 배열 중복 제거를 달성합니다

위의 방법 1에 비해 이 중복 제거 방법은 더 간결합니다. PHP에 내장된 배열 함수 array_flip을 사용하여 원본 배열의 키 이름과 값을 교환하여 중복 제거 효과를 얻을 수 있습니다.

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
$unique = array_keys(array_flip($origin));

//输出结果
print_r($unique);
?>

이 코드에서는 먼저 array_flip 함수를 사용하여 원래 배열의 키 이름과 값 위치를 바꾸므로 반복되는 값은 반복되는 키 이름이 되고 키 이름은 고유해야 하므로 Duplicate를 달성합니다. 효과. 마지막으로 array_keys 함수를 다시 사용하여 모든 키 이름을 추출하고 새로운 중복 제거 배열을 생성합니다.

방법 3: array_diff 함수를 사용하여 배열 차이 연산 수행

이 중복 제거 방법은 처음 두 가지 방법과 다릅니다. 배열 차이를 계산하여 중복을 제거합니다. 구체적인 구현 방법은 다음과 같습니다.

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
$unique = array_diff($origin, array_diff_assoc($origin, array_unique($origin)));

//输出结果
print_r($unique);
?>

이 코드에서는 먼저 array_unique 함수를 사용하여 중복 제거된 배열을 얻습니다. 그런 다음 array_diff_assoc 함수를 사용하여 원본 배열과 중복 제거된 배열을 비교하고 키 이름과 키 값이 다른 부분, 즉 중복된 부분을 가져옵니다. 마지막으로 array_diff 함수를 다시 사용하여 중복된 부분을 제거하고 최종 중복 제거된 배열을 얻습니다.

요약하자면, PHP 언어에 내장된 세 가지 배열 중복 제거 방법에 대해 논의했습니다. 모든 방법에는 고유한 장점과 적용 가능한 시나리오가 있습니다. 이러한 방법을 유연하게 익히면 시간을 절약하고 리소스를 절약하며 코드의 가독성과 유지 관리성을 향상시킬 수 있습니다. 따라서 프로그래머는 코드의 효율적인 작동을 보장하기 위해 일상적인 개발의 특정 상황에 따라 다양한 중복 제거 방법을 선택해야 합니다.

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

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