4.24 Alle Elementkombinationen eines Arrays finden

Problem

Sie möchten alle Mengenkombinationen herausfinden, die einige oder alle Elemente eines Arrays enthalten; dies wird auch als Potenzmenge bezeichnet.

Lösung

Verwenden Sie die in Beispiel 4-5 dargestellte Funktion pc_array_power_set( ).

Beispiel 4-5. pc_array_power_set( )

function pc_array_power_set($array) {
    // Initialisieren durch Hinzufügen einer leeren Menge
    $results = array(array( ));

    foreach ($array as $element)
        foreach ($results as $combination)
            array_push($results, array_merge(array($element), $combination));

    return $results;
}

Diese Funktion gibt ein Array aus Arrays zurück, das jede Kombination von Elementen einschließlich der leeren Menge enthält. Ein Beispiel:

$menge = array('A', 'B', ...

Get PHP 5 Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.