Heim >Backend-Entwicklung >PHP-Tutorial >Wie finde ich effizient alle sich nicht wiederholenden Teilmengen eines Arrays in PHP?
Teilmengen eines Arrays in PHP finden
Beim Umgang mit relationalen Datenbanken kann die Bestimmung des Abschlusses für alle Teilmengen von Attributen eine komplexe Aufgabe sein . In diesem Artikel wird untersucht, wie Sie sich nicht wiederholende Teilmengen in PHP effizient finden können.
Array definieren
Wir definieren das Array $ATTRIBUTES, um den Satz von Attributen darzustellen:
$ATTRIBUTES = ['A', 'B', 'C', 'D'];
Erzeugung von Teilmengen
Um alle möglichen Teilmengen von $ATTRIBUTES zu generieren, nutzen wir die PowerSet-Funktion:
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; }
Beispielverwendung
Durch Ausführen von $subsets = powerSet($ATTRIBUTES) werden die folgenden Teilmengen ausgegeben:
[['',''],['A'],['B'],['A','B'],['C'],['A','C'],['B','C'],['A','B','C'],['D'],['A','D'],['B','D'],['A','B','D'],... ]
Dies zeigt, wie wir alle sich nicht wiederholenden Teilmengen eines Arrays effizient finden und speichern können in PHP. Dieser Ansatz bietet eine robuste Lösung für den Umgang mit der Schließung von Attributteilmengen in relationalen Datenbankschemata.
Das obige ist der detaillierte Inhalt vonWie finde ich effizient alle sich nicht wiederholenden Teilmengen eines Arrays in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!