PHP에서 배열과 집합은 매우 일반적인 데이터 구조입니다. 배열은 숫자, 문자열, 객체 등 다양한 유형의 데이터를 포함할 수 있는 정렬된 컬렉션입니다. 집합은 보다 추상적이며 각 요소가 고유하고 특정 순서나 인덱스가 없는 요소 모음을 나타냅니다.
실제 개발에서는 보다 효율적인 검색과 작업을 위해 배열을 집합으로 변환해야 하는 경우가 많습니다. PHP에서는 이 변환을 구현하는 것이 매우 간단하며, 이 기사에서는 구현 방법과 기술을 소개합니다.
1. array_unique 함수를 사용하세요.
PHP에는 배열에서 중복된 요소를 제거하는 데 사용할 수 있는 array_unique 함수가 내장되어 있습니다. 이 함수의 기본 구문은 다음과 같습니다.
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
그 중 $array는 중복 제거가 필요한 배열을 나타내고, $sort_flags는 선택적 정렬 방법을 나타내며, 일반적인 것은 SORT_STRING(문자열로 정렬), SORT_NUMERIC(문자열로 정렬)입니다. 번호) 및 SORT_REGULAR(자연 순서에 따라 정렬) 등
array_unique 함수에 배열을 전달하면 고유 요소가 포함된 새 배열이 반환됩니다. 예:
$arr = array(1,2,2,3,3,3); $set = array_unique($arr); print_r($set); // 输出 Array ( [0] => 1 [1] => 2 [3] => 3 )
array_unique 함수를 사용하면 배열을 집합으로 쉽게 변환할 수 있음을 알 수 있습니다.
2. array_flip 함수를 사용하세요
array_unique 함수를 사용하는 것 외에도 array_flip 함수를 사용하여 배열을 컬렉션으로 변환하는 또 다른 간단한 방법이 있습니다. 이 함수는 배열의 키와 값을 교환하는 데 사용됩니다. 즉, 배열의 값이 새 배열의 키로 사용되며 원래 키는 무시됩니다. 함수의 기본 구문은 다음과 같습니다.
array array_flip ( array $array )
그 중 $array는 키와 값을 교환해야 하는 배열을 나타냅니다. array_flip 함수에 배열을 전달하면 원래 배열의 값을 키로 하고 새 배열의 모든 값을 포함하는 새 배열을 반환합니다. 예:
$arr = array('a', 'b', 'c'); $set = array_flip($arr); print_r($set); // 输出 Array ( [a] => 0 [b] => 1 [c] => 2 )
세트의 요소는 고유해야 하므로 새 배열의 값을 무시하고 해당 키만 유지할 수 있습니다. 즉:
$arr = array('a', 'b', 'c'); $set = array_flip($arr); $set = array_keys($set); print_r($set); // 输出 Array ( [0] => a [1] => b [2] => c )
이런 방식으로 모든 항목을 포함하는 세트를 얻습니다. 원래 배열의 요소.
3. array_reduce 함수를 사용하세요
또 다른 일반적인 방법은 array_reduce 함수를 사용하는 것입니다. 이 함수는 배열의 모든 요소를 반복적으로 계산하고 최종 결과를 반환하는 데 사용됩니다. 함수의 기본 구문은 다음과 같습니다.
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
그 중 $array는 반복 계산이 필요한 배열을 나타내고, $callback은 배열의 요소를 계산하는 데 사용되는 콜백 함수, $initial은 선택적 초기 값입니다. , 프로세스의 초기 상태를 반복 지정하는 데 사용됩니다. 콜백 함수의 기본 구문은 다음과 같습니다.
mixed function callback ( mixed $carry , mixed $item )
그 중 $carry는 이전 반복의 결과를 나타내고, $item은 현재 반복의 요소를 나타냅니다. 콜백 함수는 마지막 계산 결과와 현재 요소를 기반으로 새로운 계산 결과를 생성하고, 다음 반복을 위해 array_reduce 함수에 반환합니다.
배열을 컬렉션으로 변환하려면 콜백 함수에서 중복 제거 기술을 사용해야 합니다. 특히, PHP의 배열 참조 기술을 사용하여 값을 컬렉션의 키로 사용하고 값 자체를 1로 설정하여 각 키에 해당하는 값이 1이 되도록 보장함으로써 컬렉션의 요소가 고유하도록 할 수 있습니다. . 코드는 다음과 같습니다.
$arr = array(1,2,2,3,3,3); $set = array_reduce($arr, function(&$res, $cur){ $res[$cur] = 1; return $res; }, array()); print_r(array_keys($set)); // 输出 Array ( [0] => 1 [1] => 2 [2] => 3 )
위 콜백 함수 처리를 통해 원본 배열을 컬렉션으로 변환하는 데 성공했습니다. 물론 콜백 함수에서 교집합, 합집합, 차이 등과 같은 다른 집합별 연산을 사용할 수도 있습니다.
요약
배열을 컬렉션으로 변환하는 것은 실제 개발에서 매우 일반적입니다. PHP는 각각 장단점이 있는 내장 함수 array_unique, array_flip 및 array_reduce를 사용하는 것을 포함하여 이 변환을 수행하는 여러 가지 방법을 제공합니다. 실제 시나리오에서 개발자는 코드 효율성과 가독성을 보장하기 위해 특정 상황에 따라 다양한 방법을 선택할 수 있습니다.
위 내용은 PHP 배열을 컬렉션으로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
