PHP에서 배열의 하위 집합 찾기
관계형 데이터베이스를 다룰 때 속성의 모든 하위 집합에 대한 폐쇄를 결정하는 것은 복잡한 작업일 수 있습니다 . 이 기사에서는 PHP에서 반복되지 않는 하위 집합을 효율적으로 찾는 방법을 살펴봅니다.
배열 정의
$ATTRIBUTES 배열을 정의하여 속성 집합을 나타냅니다.
$ATTRIBUTES = ['A', 'B', 'C', 'D'];
하위 집합 생성
$ATTRIBUTES의 가능한 모든 하위 집합을 생성하기 위해 powerSet 기능을 활용합니다.
function powerSet(array $array) : array { // Start with the empty set $results = [[]]; // Iterate over the array elements foreach ($array as $element) { // Create new combinations by adding the element to existing combinations foreach ($results as $combination) { $results[] = [...$combination, $element]; } } return $results; }
사용 예
$subsets = powerSet($ATTRIBUTES)를 실행하면 다음 하위 집합이 출력됩니다.
[['',''],['A'],['B'],['A','B'],['C'],['A','C'],['B','C'],['A','B','C'],['D'],['A','D'],['B','D'],['A','B','D'],... ]
이는 배열의 반복되지 않는 모든 하위 집합을 효율적으로 찾고 저장할 수 있는 방법을 보여줍니다. PHP에서. 이 접근 방식은 관계형 데이터베이스 스키마에서 속성 하위 집합의 폐쇄를 처리하기 위한 강력한 솔루션을 제공합니다.
위 내용은 PHP에서 배열의 반복되지 않는 모든 하위 집합을 효율적으로 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!