Wie finde ich effizient alle sich nicht wiederholenden Teilmengen eines Arrays in PHP?

Susan Sarandon
Freigeben: 2024-11-16 13:46:03
Original
335 Leute haben es durchsucht

How to Efficiently Find All Non-Repeating Subsets of an Array 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'];
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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'],... ]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage