PHP에서 중복 배열을 필터링하는 방법
Apr 20, 2023 pm 01:55 PMPHP에서는 배열을 다룰 때 종종 상황에 직면하게 됩니다. 가장 일반적인 문제 중 하나는 배열에서 중복 요소를 필터링하는 방법입니다. 이 기사에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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