배열의 가능한 모든 하위 집합에 대한 클로저를 결정하는 것은 관계형 데이터베이스 설계에서 중요한 단계입니다. PHP에서 반복되지 않는 하위 집합을 찾으려면 다음 접근 방식을 고려하세요.
function powerSet(array $array) : array { // add the empty set $results = [[]]; foreach ($array as $element) { foreach ($results as $combination) { $results[] = [...$combination, $element]; } } return $results; } $ATTRIBUTES = ['A', 'B', 'C', 'D']; $SUBSETS = powerSet($ATTRIBUTES);
이 함수는 array_merge를 사용하여 빈 집합을 포함하여 가능한 모든 하위 집합을 생성합니다. 결과 $SUBSETS 배열에는 질문에서 요청된 모든 비반복 하위 집합이 포함됩니다.
[ [], ['A'], ['B'], ['A', 'B'], ['C'], ['A', 'C'], ['B', 'C'], ['A', 'B', 'C'], ['D'], ['A', 'D'], ['B', 'D'], ['A', 'B', 'D'], ['C', 'D'], ['A', 'C', 'D'], ['B', 'C', 'D'], ['A', 'B', 'C', 'D'] ]
이 방법은 PHP에서 배열의 하위 집합을 찾는 간결하고 효율적인 솔루션을 제공하여 다양한 데이터에 적용할 수 있도록 합니다. 분석 및 데이터베이스 설계 업무를 수행합니다.
위 내용은 PHP에서 배열의 모든 하위 집합을 효율적으로 생성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!