Bademeister: Rekursive Array-Abfrage

Beitrag lesen

Besonders an deinem "Trick" scheitert es leider.

Ist gar nicht meiner - den hab ich abgeguckt :-)

So wie ich deinen Teil verstanden habe, bekomme ich nur alle Kombinationen mit allen anderen Elementen.

Mein Plan:
array("1","2","3","4") ergibt 1234, 123, 124, 134, 234, 12, 13, 14, 23, 24, 34, 1, 2, 3, 4

Also: Wenn man (erstmal) zu den obigen Teilmengen der Menge {1,2,3,4} noch die leere Menge dazutut, dann hat man 16 Stück. Klar - zu jedem Element kann man entweder 'ja, kommt rein', oder 'nein, bleibt draußen' sagen, das macht 2^4 Mögliche Teilmengen. Nun enthalten genau acht davon die 1, und 8 enthalten sie nicht.

Wenn ich mir die 8 angucke, die die 1 nicht enthalten, dann ist das gerade die Potenzmenge der Menge {2,3,4}. Klar - die Menge aller Teilmengen von {1,2,3,4}, die die 1 nicht enthalten, ist gerade die Menge aller Teilmengen von {2,3,4}.

Und die anderen acht sind gerade - genau - wieder dieselben acht wie vorher, mit noch ner 1 dazu. Das ist die Idee der Rekursion.

$array1 = $subPowerSet;
        $array2 = array_map($lastELement, $subPowerSet);

Schau Dir bitte nochmal array_map im Handbuch an. Ganz so einfach kriegste die Rosinen hier nicht :-)

print_r(array_merge_recursive($array1, $array2));

Warum 'recursive'?

Viele Grüße,
der Bademeister