백엔드 개발 PHP 문제 PHP에서 중복 배열을 필터링하는 방법

PHP에서 중복 배열을 필터링하는 방법

Apr 20, 2023 pm 01:55 PM

PHP에서는 배열을 다룰 때 종종 상황에 직면하게 됩니다. 가장 일반적인 문제 중 하나는 배열에서 중복 요소를 필터링하는 방법입니다. 이 기사에서는 PHP에서 중복 배열을 필터링하는 방법을 자세히 소개합니다.

1. array_unique 함수

PHP에 내장된 array_unique 함수는 배열에서 중복된 요소를 필터링할 수 있습니다. 요소의 첫 번째 발생을 유지하고 나머지 중복 요소를 모두 제거합니다.

이 함수의 구문은 다음과 같습니다.

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
로그인 후 복사

여기서:

  • array는 필터링해야 하는 배열입니다.
  • sort_flags는 정렬 방법을 지정하는 데 사용되는 선택적 매개변수입니다. 기본적으로 요소는 문자열로 비교됩니다. SORT_NUMERIC 또는 SORT_REGULAR를 전달하여 숫자 또는 일반 정렬을 지정할 수 있습니다.

다음은 예입니다.

$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange');

$new_arr = array_unique($old_arr);

print_r($new_arr); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [4] => orange )
로그인 후 복사

원래 배열에 두 개의 'banana' 요소가 있으므로 array_unique 필터링 후에는 하나의 'banana' 요소만 유지됩니다.

2. 수동 중복 제거

array_unique 함수 외에도 PHP 기능을 사용할 수도 있습니다. 수동 중복 제거를 위해 키 이름을 반복할 수 없습니다.

원래 배열을 순회하고 요소를 새 배열의 키로 저장할 수 있으므로 새 배열의 키가 자동으로 중복 제거되고 값을 원하는 대로 설정할 수 있습니다.

다음은 샘플 코드입니다.

$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange');

$new_arr = array();

foreach ($old_arr as $value) {
    $new_arr[$value] = 0;
}

print_r(array_keys($new_arr)); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [3] => orange )
로그인 후 복사

이 방법은 좀 더 번거롭기는 하지만 입력과 출력의 순서를 일관되게 유지할 수 있습니다.

3. array_flip 함수

PHP에 내장된 array_flip 함수는 배열의 키 이름과 값을 교환할 수 있습니다. 키 이름은 반복될 수 없으므로 array_flip 함수를 사용하면 빠르게 복제할 수 있습니다.

다음은 샘플 코드입니다.

$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange');

$new_arr = array_flip($old_arr);

print_r(array_keys($new_arr)); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [3] => orange )
로그인 후 복사

원래 배열에 두 개의 'banana' 요소가 있으므로 array_flip 함수 뒤에는 하나의 'banana' 요소만 유지됩니다.

4. 요약

이번 글의 설명을 통해 PHP 배열에서 중복된 요소를 빠르게 제거하는 방법을 배웠습니다.

내장된 array_unique 함수를 사용하거나, 수동 중복 제거를 사용하거나, array_flip 함수를 사용하여 중복 제거를 달성할 수 있습니다.

특정 시나리오와 요구 사항에 따라 배열에서 중복 요소를 제거하는 데 가장 적합한 방법을 선택할 수 있습니다.

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

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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 배열의 중복 제거를위한 모범 사례는 무엇입니까? PHP 배열의 중복 제거를위한 모범 사례는 무엇입니까? Mar 03, 2025 pm 04:41 PM

PHP 배열의 중복 제거를위한 모범 사례는 무엇입니까?

최신 PHP 코딩 표준 및 모범 사례는 무엇입니까? 최신 PHP 코딩 표준 및 모범 사례는 무엇입니까? Mar 10, 2025 pm 06:16 PM

최신 PHP 코딩 표준 및 모범 사례는 무엇입니까?

PHP 배열 중복 제거가 키 이름 고유성을 활용할 수 있습니까? PHP 배열 중복 제거가 키 이름 고유성을 활용할 수 있습니까? Mar 03, 2025 pm 04:51 PM

PHP 배열 중복 제거가 키 이름 고유성을 활용할 수 있습니까?

PHP 확장 및 PECL로 어떻게 작업합니까? PHP 확장 및 PECL로 어떻게 작업합니까? Mar 10, 2025 pm 06:12 PM

PHP 확장 및 PECL로 어떻게 작업합니까?

PHP에서 메시지 대기열 (Rabbitmq, Redis)을 구현하는 방법은 무엇입니까? PHP에서 메시지 대기열 (Rabbitmq, Redis)을 구현하는 방법은 무엇입니까? Mar 10, 2025 pm 06:15 PM

PHP에서 메시지 대기열 (Rabbitmq, Redis)을 구현하는 방법은 무엇입니까?

PHP 배열의 중복 제거를위한 최적화 기술은 무엇입니까? PHP 배열의 중복 제거를위한 최적화 기술은 무엇입니까? Mar 03, 2025 pm 04:50 PM

PHP 배열의 중복 제거를위한 최적화 기술은 무엇입니까?

성능 손실을 위해 PHP 배열 중복 제거를 고려해야합니까? 성능 손실을 위해 PHP 배열 중복 제거를 고려해야합니까? Mar 03, 2025 pm 04:47 PM

성능 손실을 위해 PHP 배열 중복 제거를 고려해야합니까?

반사를 사용하여 PHP 코드를 분석하고 조작하는 방법은 무엇입니까? 반사를 사용하여 PHP 코드를 분석하고 조작하는 방법은 무엇입니까? Mar 10, 2025 pm 06:12 PM

반사를 사용하여 PHP 코드를 분석하고 조작하는 방법은 무엇입니까?

See all articles